标签: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
List
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());
}
标签:sys str 错误 static list 之间 href 通配符 col
原文地址:https://www.cnblogs.com/holidays/p/java_cookbook2.html