码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础学习笔记【08】泛型限定、泛型操作

时间:2015-10-08 20:08:18      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

  1. 继承实现接口的方法的时候,要是泛型接口直接指定类型就无须后面的强制转换,this直接就代表该类型,参数也就是该类型
  2. 设置泛型对象的上限使用extends,表示参数类型只能是该类型或该类型的子类(? <= Number   ):
    1
    public static void up(List<? extends Number> l){ //方法的具体实现 }
  3. 设置泛型对象的下限使用super,表示参数类型只能是该类型或该类型的父类( ? >= Number):
    1
    public static void down(List<? super Number> l){ //方法的具体实现  }
  4. 泛型的擦除
    1
    2
    List<Integer> l1 = new ArrayList<Integer>(); 
    List l2 = l1;
  5. Map不能直接遍历for循环,因为没有实现接口
  6. List的通配符Lsit<?>一般作为方法的参数没表示还不知道什么类型,可以接收所有的List
  7. Map中如果添加的key相同则覆盖前面的
  8. Collections:集合的工具类: 里面包含了排序,查找,交换元素,获得同步集合对象的方法;  详细参见API; 
  9. Arrays: 
    1
    public static <T>List<T> asList(T ... t){}
     返回定长的List集合,t数组元素组成List集合元素;   返回的List集合长度不能改变,否则,出错;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int[] arr = {1,2,3};  
    List<Integer> l1 = Arrays.asList(arr);//ERROR  
    List<int[]> l2 = Arrays.asList(arr);//YES    
    Integer[] arr1 = arr;//ERROR  
    Integer[] arr1 = {1,2,3};  
    List<Integer> l3 = Arrays.asList(arr1);    
    List <----> 数组  
    List-->数组: Collection接口里的 Object[] toArray();   
    List l = new ArrayList();     
    l.add(1);  
    l.add("a");  
    l.add(false);
    Object[] arr= l.toArray();
  10. 泛型:  简单使用(必须掌握): 
    1
    2
    3
    List list = new ArrayList();     
    String ele = (String)set.get(0);  
    List<String> list = new ArrayList<String>();
    表示该Set集合只能装String类型元素;   
    1
    String ele = set.get(0);
    在底层依然是:
    1
    String ele = (String)set.get(0);
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Map<String,Date> map = new HashMap<String,Date>();    
    map.put("A",new Date());   
    Set<Map.Entry<String,Date>> entrys = map.entrySet();   //取出Map里所有Entry对象
    Iterator<Map.Entry<String,Date>> it = entrys.iterator();//使用迭代器
    //迭代出每一个Entry对象  
    while(it.hasNext())    {
    Map.Entry<String,Date> entry = it.next();     //取出每个entry里的 key和 value
    String key = entry.getKey();
    Date value = entry.getValue();    }  //show(new HashMap<>());
  11. 泛型方法://泛型方法的声明占位符只能放在方法返回类型的前面;
    1
    public static <T> List<T> asList(T ... t){     }
    Arrays的静态方法把一些可变参数变为list对象
  12. 得到className权限定名类的字节码对象   Class的静态方法
    1
    static Class<?> forName(String className)
     表示所有不确定的类型,可以接受所有的类型;  但是不能往里面添加元素
  13. List<>的上限下限不能同时使用
  14. 一般文件路径的分隔符使用“/”可以兼容多平台,“\\”一般只是支持windows
  15. 一般使用File文件类创建文件没有指定路径就是抽象路径也就是bin目录下面,默认创建在下面



Java基础学习笔记【08】泛型限定、泛型操作

标签:

原文地址:http://www.cnblogs.com/lindongdong/p/5d91db0a500877ee8f3f5ac3b5595fd3.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!