Generics name clash

Рассмотрим:

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) {}
    };
}

Я не нашел способа выразить, что я имею в виду X из Bar, а не Foo.X в реализации foobar(X t). Нет ли другого способа, кроме как переименовать общий параметр X в Bar или статическом внутреннем классе?

6
задан Landei 21 January 2012 в 16:51
поделиться