您的位置:首页 > 其它

Class<T> 和 函数使用不定数目的参数

2016-12-02 15:47 701 查看
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)就是正确的。

//

public int mul(int a,int b){
 return a * b;
}

public int mul(int a,int b,int c){
 return a * b * c;
}

//不定数目的参数
public int mul(int... list){
 int result = 0;
 for (int num:list){
  result *= num;
 }
  return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐