Java 默认泛型类型

Java 默认泛型类型,java,generics,Java,Generics,假设我有以下泛型类: public class Foo<T extends Bar> { // stuff } 公共类Foo{ //东西 } 是否可以指定默认类型(例如,Baz),如果未传入T,则该类型将充当T。否。请参见Java语言规范中的 也就是说,您可以提供实现类似目的的子类: public class Foo<T extends Bar> { ... } public class FooDefault extends Foo< Baz >

假设我有以下泛型类:

public class Foo<T extends Bar> {
   // stuff
}
公共类Foo{
//东西
}
是否可以指定默认类型(例如,
Baz
),如果未传入
T
,则该类型将充当
T

否。请参见Java语言规范中的

也就是说,您可以提供实现类似目的的子类:

public class Foo<T extends Bar> { ... }

public class FooDefault extends Foo< Baz > { ... }
公共类Foo{…}
公共类FooDefault扩展了Foo{…}

使用工厂方法,如

public <T extends Bar> static Foo<T> getInstance(Class<T> clz) { 
    if (clz == null) 
        return new Foo<Bar>; 
    else 
        return clz.newInstance();
}
publicstaticfoogetinstance(类clz){
if(clz==null)
返回新的Foo;
其他的
返回clz.newInstance();
}

没有,但您想解决什么问题?是否可以使用注释处理器?没有,以前从未使用过,只是想知道。但它最终可能只是工厂方法的一个奇特、复杂的版本。我想你指的是创建Foo.yup的最后一行,真的,很抱歉:)无论如何,这个想法应该是清楚的。你可以通过左下角的“编辑”链接修改你的答案。