天天看點

Class<T> 和 函數使用不定數目的參數

1 class<T> 用于反射之中 表示一定要有一個類型(泛型)

1.1 實作接口時候,必須傳入一個泛型

public interface Comparable<T> {

  public boolean compareTo(T other);

}

Comparable 接口包含一個類型參數 T

public class String implements Comparable<String> {

   public boolean compareTo(String other){

   }

}

1.2 這裡指定了兩個比較的class類型必須一緻

public T max(T t1, T t2) {

  if (t1.compareTo(t2) > 0)

    return t1;

  else

    return t2;

}

String s = max("moo", "bark");

1.3//Class<T>表示一個類名,T[] T數組的使用

public<T> T[] toArray(Class<T> returnType)

FooBar[] fba = something.toArray(FooBar.class);

1.4 //Class<T>表示一個類名

public interface BaseDao<T> { 

    T get();   

public abstract class HibernateBaseDao<T> implements BaseDao<T>{

     private Class<T> entityClass;

}

public class EntityDao extends HibernateBaseDao<Entity> { 

    private Class<T> entityClass;

    public T get() { 

            return entityClass.newInstance(); 

    }

}

2 Java使用多個參數

mul(int... list,int a) 是錯誤的,但是mul(int a,int... list)就是正确的。

//