我在范型中new对象时,提示错误:Can not Instantiate the type T。
这是我的代码:
public class DataFactory<T> {
T t LoadObject() throws Exception
{
   return new T();
}
请问高手如果解决?

解决方案 »

  1.   

    T t LoadObject() throws Exception 
    这是啥?是想写成这样?
    public T LoadObject() throws Exception 
      

  2.   

    不好意思,我写错了,多写个t,应该是
    public class DataFactory <T> { 
    T LoadObject() throws Exception 

      return new T(); 

    但问题不变
      

  3.   

    泛型是编译时的,所以不能new T
      

  4.   

    return new T();
    怎么能new呢,你上面的new的方式也是错的
    而且你这里的T不是任何有效类型
      

  5.   

    例子: 
    //code list 1 
    import Java.util.Hashtable; 
    class TestGen0<K,V>{ 
     public Hashtable<K,V> h=new Hashtable<K,V>(); 
     public void put(K k, V v) { 
    h.put(k,v); 
     } 
     public V get(K k) { 
    return h.get(k); 
     } 
     public static void main(String args[]){ 
    TestGen0<String,String> t=new TestGen0<String,String>(); 
    t.put("key", "value"); 
    String s=t.get("key"); 
    System.out.println(s); 
     } 

    正确输出:value 
      

  6.   

    java 泛型的残酷现实就是:在泛型代码内部,无法获得任何有关泛型参数类型的信息。java泛型的擦除效应去看看吧。