クラス Long および Integer のメンバーの静的インポートを行っています。
import static java.lang.Integer.MAX_VALUE;
import static java.lang.Long.MAX_VALUE;
この変数 MAX_VALUE を使用して出力しようとすると、エラーが発生します。
import static java.lang.Integer.MAX_VALUE;
import static java.lang.Long.MAX_VALUE;
public class StaticImportDemo2 {
public static void main(String[] args) {
//Error :: The field MAX_VALUE is ambiguous
System.out.println("Print without static import Integer.MAX_VALUE "+MAX_VALUE);
}
}
これで問題ありません。エラーを削除するには、このあいまいさを解決するために 1 つの静的インポートを削除する必要があります。
私が得ている主な問題は、*
整数クラスの静的インポートでワイルドカードを使用すると、クラスがエラーなしでコンパイルされることです:
import static java.lang.System.out;
import static java.lang.Integer.*;
import static java.lang.Long.MAX_VALUE;
public class StaticImportDemo2 {
public static void main(String[] args) {
System.out.println("Print without static import Integer.MAX_VALUE " + MAX_VALUE);
}
}
あいまいさはまだ存在する必要があります。これが問題なくコンパイルされるのはなぜですか?