1、说明
泛型代码中不能new t()的原因有两个,一是因为擦除,不能确定类型;而是无法确定t是否包含无参构造函数。
我们通过工厂模式+泛型方法制作实例对象,制作integerfactory工厂,制作integer实例,如果后来代码发生变化,可以追加新的工厂类型。
2、实例
/** * 使用工厂方法来创建实例 * * @param <t> */interface factory<t>{ t create();} class creater<t>{ t instance; public t newinstance(f f) { instance=f.create(); return instance; }} class integerfactory implements factory<integer>{ @override public integer create() { integer integer=new integer(9); return integer; }}
以上就是java中如何定义数据类型的详细内容。