zoukankan      html  css  js  c++  java
  • 8-6 泛型

    package generic;
    
    import java.util.ArrayList;
    import java.util.Collection;
    
    public class TestOne {
    
        @SuppressWarnings("unchecked")
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            
            //8.6约束和局限性
            //8.6.1不能用基本类型实例化类型参数
            //8.6.3 不能创建参数化类型的数组
            
    //        Pair<String> [] pair = new Pair<String>[2]; //error
    //         Pair<String>[]  pair =null; //合法的
             Pair<String>[]  pair = (Pair<String>[]) new Pair<?>[2];//声明通配型的数组进行转换,不安全
    pair[0]  = new Pair<String>();
    //pair[1]  = new Pair<Employee>();    
            
             //收集参数化类型对象 ArrayList 比较好
    //         ArrayList<Pair<String>> pair  = new ArrayList<Pair<String>>();
    
    
            //8.6.4  Varargs警告
            //向参数可变的方法传递一个可变的实例  泛型数组
            Collection<Pair<String>> collection = null;
            Pair<String> pair1 = null;
            Pair<String> pair2 = null;
    //        addAll(collection, pair1,pair2);
            
            // 一般用 @SuppressWarnings("unchecked")  javase 7 可用 @SafeVarargs
            
            
            Pair<String> [] pairArr = array(pair1,pair2);
            Object[] arr = pairArr;
            arr[0] = new Pair<Employee>();
    
        }
        //8.6.4 
        @SafeVarargs
        public static <T> void addAll(Collection<T> collection, T ... ts ){
            for(T  t : ts  ){
                collection.add(t);
            }
        }
        
        public static <E> E[] array(E ... array){
            return array;
        }
    
    }
  • 相关阅读:
    Struts2拦截器
    Struts2 数据封装与值栈
    Struts2的环境搭配
    自学spring AOP
    小白学Maven第二篇配置Ecilpse
    小白学Maven第一篇配置
    web项目jsp出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path错误
    软件测试复习(二)
    软件测试复习(一)
    白盒测试概述
  • 原文地址:https://www.cnblogs.com/lxh520/p/8421886.html
Copyright © 2011-2022 走看看