当前位置: 首页 > 面试题库 >

Java为什么没有“深度”通配符导入?

江阳夏
2023-03-14
问题内容

为什么不import one.two.*包括import one.two.three.MyClass?Java不应该有类似的东西import one.two.**吗?还是有任何原因(除了他们只是没有做,而不是他们不能做)?

谢谢


问题答案:

Java并不将包视为真正的子类。而java.utiljava.util.concurrency可能看起来像第二个是莫名其妙的第一部分,它们被视为完全独立的点主要是那里整洁。

这意味着您不必担心以后在某个超级或子包中声明的类或接口与另一个类相同的命名,也意味着您实际上应该只写几行导入。

正如Peter Lawrey解释的那样,做出此决定的原因源于Java对简单性的普遍偏爱。最佳做法通常是始终不使用导入通配符。



 类似资料:
  • 问题内容: 我知道每次键入字符串文字时,字符串池中都会引用相同的String对象。 但是,为什么String API不包含,所以我可以使用引用? 至少,这将节省编译时间,因为编译器将知道引用现有的String,而不必检查是否已创建它以进行重用,对吗?我个人认为,字符串文字(尤其是很小的文字)在许多情况下是一种“代码异味”。 那么是否没有String.Empty背后的宏伟设计原因,还是语言创建者根本

  • 问题内容: 在Java中,有和接口。两者都属于Java的标准框架,并提供了一种访问元素的分类方法。 但是,据我了解没有。你可以用来对列表进行排序。 知道为什么要这样设计吗? 问题答案: 列表迭代器首先确保你以列表的内部顺序(也称为插入顺序)获取列表的元素。更具体地说,它是按照插入元素的顺序或操作列表的方式进行的。排序可以看作是对数据结构的一种操作,有几种方法可以对列表进行排序。 我将按照自己的见解

  • 问题内容: 我正在探索,惊讶地发现那没有。 我有两个问题。 主要问题 我想知道为什么删除了? 是否存在性能问题或其他问题? 次要问题 我解决我的问题写我的: 这样可以/有更好的方法吗? 问题答案:

  • 问题内容: 使用单个语句像 而不是导入一堆单独的类 在import语句中使用通配符有什么问题? 问题答案: 唯一的问题是,它会使你的本地名称空间混乱。例如,假设你正在编写一个Swing应用程序,因此需要它,并且还与该公司的日历系统(具有)交互。如果你同时使用通配符方法导入这两种情况,则会发生以下三种情况之一: 和之间存在直接的命名冲突,因此甚至无法编译。 实际上,你实际上只能导入一个(两个导入中只

  • 这可能是一个简单的问题,但谷歌什么也没有回报。 我已经阅读了java中的帮助包-导入不工作 我仍然不明白为什么直接导入可以工作,但通配符不行。[编辑]我所说的类包是指一个类包。我对Java还是新手,所以我不知道语义学[编辑] 我有一个课程包:,当我尝试导入com时。公司* 我收到以下错误。 如果我导入明确表示我没有问题。 所以我想我有一个解决方案,但为了学习,有人能解释一下我为什么会看到这个问题吗

  • 问题内容: 恐怕这是一个愚蠢的问题。 有谁能告诉我为什么没有对立的东西? 除了“因为根本就没有”以外,还有其他原因吗? 我应该创建自己的一个吗?还是我想念其他东西? 更新资料 在哪里使用?我正在编写一个使用大量消费者和供应商的图书馆。我成功地写了一行,并且遇到一种情况,期望消费者接受来自方法结果的布尔值。说什么 问题答案: 并且需要避免开销自动装箱每个值。处理原始图元更有效。但是,对于布尔值和字节