は考えてみましょう:ジェネリック医薬品の名前の衝突
public interface Foo<T> {
public static class X{}
public void foobar(T t);
}
public class Bar<X> {
Foo<X> foo = new Foo<X>() {
public void foobar(X t) {}
};
}
私はfoobar(X t)
実装でBar<X>
からX
なくFoo.X
を意味することを表現する方法を発見しました。ジェネリックパラメータX
の名前をBar
または静的内部クラスの名前に変更する以外の方法はありませんか?
を...することができますインターフェイス内にパブリッククラス(静的な場合でも)をネストしますか? –
はい、静的内部クラスまたは汎用パラメータの名前をBarに変更すると、コンパイルされます。 – Landei
@ダニエル...はいできます。それは面白く見えますが、完全に有効です。 –