例えば、
public final static java.util.List VALUES =
Collections.unmodifiableList(
Arrays.asList( new Suit[] { CLUBS, DIAMONDS, HEARTS, SPADES } ) );
それが書かれた方法で私を混乱させました。java.util がインポートされるのを見るのにとても慣れています。
助けてくれてありがとう。
例えば、
public final static java.util.List VALUES =
Collections.unmodifiableList(
Arrays.asList( new Suit[] { CLUBS, DIAMONDS, HEARTS, SPADES } ) );
それが書かれた方法で私を混乱させました。java.util がインポートされるのを見るのにとても慣れています。
助けてくれてありがとう。
すでにインポートされている別の List
クラスがない限り、それを行うメリットはありません。もしかして、ここがそうでしょうか?
インポートを行うと、特に同じクラスを複数回使用している場合に、コードが読みやすくなります。
これはより読みやすいと思います:
import java.util.List;
class A {
List l1;
List l2;
}
これより:
class A {
java.util.List l1;
java.util.List l2;
}
いくつかの宣言でジェネリックを使い始めると、物事はさらにきれいになります。
違いはありません。可能であれば完全に名前空間化されたクラスを提供するのではなく、インポートする必要があることを示す「ベストプラクティス」がどこかにあるかもしれません(またはその逆)。
インポートを行うだけでなく、完全な名前空間を使用すると、サードパーティのライブラリを一緒に使用し始めるときに役立ちます。たとえば、csv を解析するためのライブラリと、xml を構築するためのライブラリ (csv を xml に構築する) があるとします。どちらのライブラリも、「Parser」というクラスを宣言する場合があります。両方をインポートすると、コンパイラは参照している「パーサー」クラスを判別できないため、単純にインポートするのではなく、完全な名前空間を使用する必要があります。