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

    xiaoxiao2021-12-14  17

    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;}

    转载请注明原文地址: https://ju.6miu.com/read-964520.html

    最新回复(0)