泛型默认构造函数Java

时间:2010-10-18 07:23:01

标签: java generics

public class Sample<T>{

 T data;

   Sample(){

     data = ????;

  }

}

如何为数据分配默认值?

2 个答案:

答案 0 :(得分:9)

Bozho是对的(你做不到)。如果您确实希望它以值开头,请将该值作为构造函数的参数。例如:

public class Sample<T> {
  T data;
  Sample(T data) {
     this.data = data;
  }
}

答案 1 :(得分:7)

你做不到。运行时类型T is erased,因此您无法实例化它。

如果您将Class参数传递给Sample(..)构造函数,则可以调用clazz.newInstance()