import java.util.Arrays;
public class Tuple<T> {    private final T[] values;
    public Tuple(T... values) {
        this.values = Arrays.copyOf(values, values.length);
    }
....
}
表示不明白那个Tuple后面的尖括号的作用,以及T是什么,还有构造函数里面T...是什么意思?谢谢!

解决方案 »

  1.   

    是泛型  里面可以存放Object 
    例如: 如果是这样:Tuple<String>  那么这个Tuple就只是针对String有效.
      

  2.   

    T 只是一个代名词 你放什么类型就是什么类型 你这个Tuple 是定义 当你在使用Tuple的时候就要在后面加上Tuple<String>之类的 这个时候T就是String了 这个String代表的就是决定了Tuple的构造函数的参数类型public Tuple(T... values)就变成了public Tuple(String values)
      

  3.   

    <T>这是泛型。public Tuple(T... values)这个是可变参数,都是JAVA5.0的新特性。可变参数可以这样理解,就是传入的是一个Values数组。
      

  4.   

    T是范型的意思,比如如果你传入的是Integer类型,那么就只对Integer类型有效了,等同于
    import java.util.Arrays;
    public class Tuple<Integer> {  private final Integer[] values;
      public Tuple(Integer... values) {
      this.values = Arrays.copyOf(values, values.length);
      }
    ....
    }这时就指针对Integer类型了,
    至于构造函数,那是变长数组,就是说你可以传人任意长度的参数,比如
    Tuple t1 = new Tuple(new Integer(10)) 
    Tuple t1 = new Tuple(new Integer(10), new Integer(20)) 
    Tuple t1 = new Tuple(new Integer(10), new Integer(20), new Integer(30)) 
    这样new对象都是可以的
      

  5.   

    泛型  比如说List<String> s = new ArrayList<String>();  这是个动态数组,String的作用是只能往此数组中添加String类型的