次のコードは、「インポートが同じファイルで定義されたタイプと競合している」ため、明らかにコンパイルされません。なぜこれが機能しないのですか?!
import java.util.ArrayList;
public class ArrayList {
public static void main(String[] args) {
ArrayList<Integer> aList = new ArrayList<Integer>();
}
}
回答:
回答№1は2クラスの名前をMyArrayListなどの別の名前に変更するだけです
回答№2の場合は0
ArrayListはjava.util.ArrayListで定義されています。エラーメッセージは、クラス名がその定義と競合していることを示しています。
これは、リストの作成以外には何も行いませんが、これによりコンパイルの問題が修正されます。
public class MyListTest { // <---- This line cannot say "public class ArrayList"
public static void main(String [] args) {
ArrayList<Integer> aList = new ArrayList<Integer>();
}
}