0

以下のように一括インポートクラスグループを使用します。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.text.*;
import java.util.regex.*;

このようにして、クラスを除外することを心配する必要はありません。

次に、使用するListと、次のエラーが発生しました。

参照Listがあいまいで、クラスjava.util.Listインjava.util とクラスjava.awt.Listインの両方がjava.awt一致しています

これを修正するにはどうすればよいですか?クラスの1つを強制送還する方法はありますか?どちらがいいですか?

4

4 に答える 4

3

このクラス ファイル全体でjava.util.List、これらの型を完全修飾名で参照する必要があります。java.awt.List

これにより、2 つListの s のあいまいさが解消され、厳密に何かを「強制送還」する必要がなくなります (importステートメントは同じままにすることができます)。ただし、インポートを整理するという他の回答の推奨事項には同意します。

Lists の1 つ「国外追放」された場合はList、短い名前で他の s を参照できます。

于 2012-06-03T06:04:42.300 に答える
2

まず、そのようなパッケージ全体をインポートするべきではありません。必要なものだけを含める必要があります。IDEには、必要なものが何でも含まれるオプションがあります。少なくともEclipseはそれを行います。その欠点を詳細に読むには、次のリンクを参照してください。

ただし、どうしても必要な場合は、これらのあいまいなクラスを完全修飾名で参照することで、あいまいさを回避できます。たとえば、あなたの場合

  • java.util.Listおよび/またはjava.awt.List
于 2012-06-03T06:07:23.670 に答える
0

修正は、そのようなすべてをインポートしないことです。EclipseなどのIDEを使用して、インポートを管理します。

于 2012-06-03T06:07:35.720 に答える
0

常に、常に特定のプログラムで使用するクラスのみをインポートします。使用しているListクラスのように、同じ名前でパッケージが異なるクラスの場合、importステートメントではなく、完全修飾名で指定できます。

于 2012-06-03T06:14:25.223 に答える