considerar:Genéricos nombre choque
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) {}
};
}
he encontrado ninguna manera de expresar que me refiero a la X
de Bar<X>
y no Foo.X
en la implementación foobar(X t)
. ¿No hay otra manera que cambiar el nombre del parámetro genérico X
en Bar
o la clase interna estática?
Eso no se ve bien ... puede usted anidar una clase pública (incluso estática) dentro de una interfaz? –
Sí, si cambia el nombre de la clase interna estática o el parámetro genérico de Bar, compila. – Landei
@Daniel ... Sí, puedes. Parece gracioso, pero es completamente válido. –