-1

java.awt。*をインポートしてリストを使用しようとすると、エラーが発生します。

java.awt。*をインポートしてリストを使用する方法はありますか?

4

3 に答える 3

2

クラスawtとutilのListの命名規則にはあいまいさがあり、2つの方法で処理できます。

  1. インポートを使用

    import java.awt.*;

    import java.util.List;

    import java.util.*;

  2. Head First Javaで説明されているように、「インポートまたはフルネームのいずれかを使用する」フルパスを使用します

    java.util.List<String> list = new java.util.ArrayList<String>();

于 2012-07-01T09:26:36.273 に答える
1

クイックGoogle検索から

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に短縮できますが、ソーステキストで使用される場合は常に、他の名前をフルネームで参照する必要があります。

于 2012-07-01T01:42:29.053 に答える
1

問題は、java.awtにもリストが含まれているため、リストを呼び出すときにコンパイラーがどちらを使用しているかを認識しないことです。

私はあなたがそのようにあなたのリストを呼ぶだろうと思います:

java.util.List list = new java.util.List();

したがって、このようにして、コンパイラは、参照している「リスト」を認識します。

于 2012-07-01T01:43:03.540 に答える