java.awt。*をインポートしてリストを使用しようとすると、エラーが発生します。
java.awt。*をインポートしてリストを使用する方法はありますか?
クラスawtとutilのListの命名規則にはあいまいさがあり、2つの方法で処理できます。
インポートを使用
import java.awt.*;
import java.util.List;
import java.util.*;
Head First Javaで説明されているように、「インポートまたはフルネームのいずれかを使用する」フルパスを使用します
java.util.List<String> list = new java.util.ArrayList<String>();
java.awt.Listとjava.util.Listの2つのクラスがあるため、クラス名Listはあいまいになりました。クラス名の特定のインポートを追加することで、あいまいさを解決できます。
import java.awt.*;
import java.util.*;
import java.util.List;
ただし、同じソースファイルでjava.awt.Listとjava.util.Listの両方を参照する必要がある場合は、インポートメカニズムの制限を超えています。importステートメントを使用して、名前の1つをListに短縮できますが、ソーステキストで使用される場合は常に、他の名前をフルネームで参照する必要があります。
問題は、java.awtにもリストが含まれているため、リストを呼び出すときにコンパイラーがどちらを使用しているかを認識しないことです。
私はあなたがそのようにあなたのリストを呼ぶだろうと思います:
java.util.List list = new java.util.List();
したがって、このようにして、コンパイラは、参照している「リスト」を認識します。