2

例如,

public final static java.util.List VALUES = 
  Collections.unmodifiableList( 
    Arrays.asList( new Suit[] { CLUBS, DIAMONDS, HEARTS, SPADES } ) );

写它的方式让我很困惑。我已经习惯了看到 java.util 被导入。

谢谢您的帮助。

4

3 回答 3

6

除非你有另一个 List已经被导入的类,否则这样做没有任何好处。也许这里就是这种情况?

于 2012-04-20T21:35:41.843 回答
3

如果您进行导入,您的代码将更具可读性,特别是当您多次使用同一个类时。

我认为更具可读性:

import java.util.List;

class A {
    List l1;
    List l2;
}

这个

class A {
    java.util.List l1;
    java.util.List l2;
}

当您开始在某些声明上使用泛型时,事情会变得更加清晰。

于 2012-04-20T21:35:54.917 回答
0

没有区别。某处可能有一个“最佳实践”,指出您应该导入而不是尽可能提供完全命名空间的类(或者可能相反)。

当您开始一起使用 3rd 方库时,使用完整的命名空间而不是仅仅进行导入会变得很有用。说,例如,您有一个库来解析 csv 和另一个库来构建 xml(将 csv 构建为 xml)。两个库都可能声明一个名为“Parser”的类。如果您同时导入它们,编译器将无法判断您指的是哪个“解析器”类,因此您可能希望使用完整的命名空间,而不是简单地导入。

于 2012-04-20T21:38:34.307 回答