JavaSE第十二天泛型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Fighting_mjtao/article/details/81514400

泛型:
    好处:将运行时期的异常提前到编译时期
          不用强转
    使用:<> 里面必须放的是引用数据类型
泛型类:
       //泛型类
        public class Basket <T> {
            private T t;
            public Basket1() {
            }
            public void setT(T t){
                this.t = t;
            }
            public T getT(){
                return t;
            }    
        }
        
泛型方法
    //对对象数据进行排序,返回值是 排好序的数组
    public static<T> T[] sort(T[] o){
        return o;
    }
    //Arrays的排序方法
    static <T> void sort(T[] a, Comparator<? super T> c)
    Comparator<T>
    
            Comparator c = new Comparator<Apple>(){
            @Override
            public int compare(Apple o1, Apple o2) {
                if(o1.getWeight()==o2.getWeight()) {
                    return o1.getStrain().compareTo(o2.getStrain());
                }
                return o1.getWeight()-o2.getWeight();
            }
            
        };
        Arrays.sort(apples, c);
        
        对自定义类对象的比较有两种方式:一种是在该类实现Comparable<T> 接口,重写compare方法
                                        另一种是在调用时创建比较器new Comparator<T>(){};
                                        因为Comparator是接口,所以用内部类实现

猜你喜欢

转载自blog.csdn.net/Fighting_mjtao/article/details/81514400