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的最后一行,真的,很抱歉:)无论如何,这个想法应该是清楚的。你可以通过左下角的“编辑”链接修改你的答案。