目录
1.System
2.包装类
注:集合里不允许存储基本数据类型(详细请看4.3泛型擦除)
包装类就是用一个对象把数据包起来,把数据当成成员属性
2.1 integer
2.1.1integer在jdk5之前
创建
integer.valueof()
new integer()
2.1.2jdk5以后
自动装箱和拆箱
int和integer在转换时可以直接转换
int x=new integer(“1”)//创建一个integer强转成int
integer i=x+1//x+1强转成integer
2.1.3integer的成员方法
注:parseInt(): integer把字符串转换成int
3.object
3.1toString
toString和system.out.println
3.2equals
为什么会重写equals?
不同类型调用equals,要看其是否重写了,没重写则继承object
4.泛型
4.1泛型类
注:在类名后声明
4.2泛型方法
注:在返回值旁声明
注:静态方法想使用泛型必须是泛型方法,因为静态的在创建类时被加载,而泛型传入在实例化类即创建对象时
4.3泛型擦除
注:泛型所声明的类型只在编译时有效,在运行时会转成它的上界,没有的话就变成object,所以
1.泛型不能存储基本数据类型,因为object不能存储,但是可以用包装类;
2.泛型不能比较集合里装的类型,只能比较原始类型,即集合
4.4泛型的协变,逆变,不变
协变:向上转型为父类
逆变:向下转型为子类
不变:不能转
JAVA:集合正常不支持直接协变、逆变,数组支持协变,但是转成其他类型会在运行时报错
4.4JAVA支持的协变
通过通配符<? extends 上界>这种方式可以把子类的参数传递到父类
注:集合在支持协变后,只读不写
4.5JAVA支持的逆变
注:用<? super 下界>来声明,只写不读