class MyClass<X> {
  <T> MyClass(T t) {
    // ...
  }
}
上面那个 MyClass 类怎么调用这个构造函数初始化,写成下面:MyClass<Integer> myObject = new <String> MyClass<>("");编译不通过啊,应该要怎么写?

解决方案 »

  1.   

    List<Integer> list = new ArrayList<Integer>()
    难道不是一样的?
      

  2.   


    class MyClass<X> {
      <T> MyClass(T t) {
         
      }
    }
    public class Test{
      public static void main(String args[]){
            Integer i = 0;
            MyClass<String> mc = new MyClass<String>(i);
      }
    }
    编译能通过
      

  3.   

    如下:
    MyClass<Integer> myObject = new  MyClass<Integer>("");
      

  4.   

    MyClass<Integer> myObject = new MyClass<Integer>("");。
    都两星了。
      

  5.   


    MyClass<Integer> myObject = new <String> MyClass<>("");貌似Integer不是String的泛型类吧,这样实例化对象肯定不能编译过...
      

  6.   

    一个是Integer一个是String当然是通不过的。
      

  7.   

    对于public static <T> T getMiddle(T[] a){
            return a[a.length/2];
        }
    我们可以这么显式的调用:String middle1 = ArrayAlg.<String>getMiddle(names);
    那上面那个构造函数如何用这种方式呢?
      

  8.   


    为什么不写成MyClass<Integer> myObject = new <String> MyClass<Integer>("");  ?
      

  9.   

    MyClass<Integer> myObject = new MyClass<Integer>(100); 
    MyClass<String> myObject = new MyClass<String>("abc"); 
      

  10.   

    类似
    code=Java]
            MyClass<String> myObject = new MyClass<String> ;
    [/code]
      

  11.   

    public static <T> T getMiddle(T[] a){
    }
      

  12.   


    MyClass<Integer> myObject = new<String> MyClass<Integer>("");
    原来这样也可以,长见识了!
      

  13.   

    MyClass<Integer> myObject = new MyClass<Integer>("");
    你给的两个数据类型不能隐士转换,肯定是不能的。
      

  14.   

    MyClass<X> myObject = new <T> MyClass<X>(T t) 这个是的!