JAJA collections(Java 集合)
来源:互联网 发布:如何做淘宝网页 编辑:程序博客网 时间:2024/06/03 16:20
System.out.println(anObject):
这行代码调用anObject.toString()方法。可以覆盖该方法来控制输出。
while(line =read.readLine()!=null)
{
String[] tokens=line.split("/");
songList.add(tokens[0])
}
泛型
http://hllvm.group.iteye.com/group/topic/38414
<>符号代表泛型在作用;
运用泛型可以创建类型安全更好的集合,让问题尽可能在编译器被抓到,而不会等到执行期才冒出来。
不给出泛型E时
class AArrayList<e extends Dog> {
}
AArrayList list=new AArrayList()不等于
AArrayList<Object> list=newA ArrayList();
而由于1.将所有的泛型参数用其最左边界(最顶级的父类型)类型替换。
2.移除所有的类型参数。
最终等于AArrayList list<Dog>=new AArrayList<DOG>()
List list = new ArrayList<String>()则等于
List list=new ArrayList();
因为虚拟机在new一个对象的时候用的是同一份的ArrayList的模板,不会有ArrayList与ArrayList<String>两份模板。
所以编译器在编译时只会检查类型之间是否存在继承关系,有则通过;而在运行时就会检查它的真实类型,是则通过,否则抛出ClassCastException异常。
编译器生成的bytecode是不包涵泛型信息的,泛型类型信息将在编译处理是被擦除,这个过程即类型擦除。
List list=new List<Integer>()
与List list =new List()一样
但是编译器会检查左边的泛型类型与右边的泛型类型是否能匹配(有继承关系),如:
List<Fruit> flist2 = new ArrayList<Apple>();//compile error 即使Apple是Fruit的子类;
List<? extends Fruit> flist2 = new ArrayList<Apple>();//能通过,但filst2的不能ADD元素,受到限制。
public class Erasure{
public void test(List<String> ls){
System.out.println("Sting");
}
public void test(List<Integer> li){
System.out.println("Integer");
}
}
参数类型明明不一样啊,一个List<String>,一个是List<Integer>,但是,偷偷的说,type erasure之后,它就都是List了
System.out.println(anObject):
这行代码调用anObject.toString()方法。可以覆盖该方法来控制输出。
while(line =read.readLine()!=null)
{
String[] tokens=line.split("/");
songList.add(tokens[0])
}
int
compare(T o1, T o2)
比较用来排序的两个参数。
- JAJA collections(Java 集合)
- Java集合,Collections
- Java集合 --Collections.sort()
- java集合工具collections
- Java集合框架Collections
- Java -- 集合Collections
- 【Java】【集合】Collections
- Java集合框架->Collections类
- Java 集合学习<7>Collections
- Java 集合(Collections)总结
- Java 集合工具类 Collections
- Java 集合工具类Collections
- java集合(工具类Collections)
- java Collections集合工具类
- java集合排序 Collections.sort
- Java笔记 - 集合(Collections)
- Java 集合工具类 Collections
- Java集合-Collections类详解
- markdown语法的练习使用
- HttpPost 传输Json数据并解析
- ITSA [C_ST53-易] 矩陣數字顯示
- Retrofit源码浅析
- ubuntu16.04安装MediaWiki
- JAJA collections(Java 集合)
- ServletConfig与ServletContext对象详解
- wifidog接口文档
- maven eclipse:clean eclipse:eclipse web project
- module,jar包中的类无法被编译器检测到
- POJ 1944 并查集(模拟)
- config.mk
- JDBC编程要点
- ORA-12560: TNS: 协议适配器错误的解决方法