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

java知识精要(二)

时间:2019-09-29 12:44:55      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:sys   str   错误   static   list   之间   href   通配符   col   

一、集合
1. Iterable v.s. Iterator
两者都是接口,在Collection继承的是Iterable。
Iterable表达了集合具备迭代访问的能力,而Iterator表示实现,可以从小到大也可以从大到小。
https://zhuanlan.zhihu.com/p/52366312

2. Comparable v.s. Comparator
    https://www.cnblogs.com/skywang12345/p/3324788.html

3. 集合
    https://www.cnblogs.com/LittleHann/p/3690187.html
    集合需多用用

二、泛型
1. 应该将List看做一个具体类型,不真实存在的逻辑类型
List l1 = new ArrayList();
List l2 = new ArrayList();
System.out.println(l1.getClass() == l2.getClass() );
结果?

    因此,类的static成员是不可以使用类型参数的。
    public class R<T>{
        static T info; //错误
        static void test(T msg); // 错误
    }

2. ?, ? extends type, ? super type      
    1) 通配符与继承关系
    List<Object> 与 List<String>之间无继承关系。
        void test(List<Object> l)传入List<String>将编译报错

    通配符、通配符上下限都可以理解为对继承关系的补充。
    void test(List<?> l)函数可以接收List<Integer>, List<String>等
    void test(List<? extends Numbers> l)函数可以接收List<Integer>, List<Double>等。

    2) 理解下列代码,其中Rect为Shape子类
        void addRect(List< ?  extends Shape> shapes){
            shapes.add(0, new Rect());
        }

java知识精要(二)

标签:sys   str   错误   static   list   之间   href   通配符   col   

原文地址:https://www.cnblogs.com/holidays/p/java_cookbook2.html

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