1、Java基本类型有:short,int,long,float,double,char,byte
除了这些类型以外,其它类型都继承Object
自动装箱:Integer a = 12;//将int类型直接装箱成Integer类型
自动拆箱:int b = a; //将Integer 类型直接拆箱成int类型
2、增强型for循环,表达式为:
for(Object obj:array)
{...}
array是需要遍历的数组或者集合,如果集合使用泛型方式就不需要转变成Object类型,直接转成泛型的类型
3、数组和Object的关系
为了确定数组和Object的关系,需要用到Array反射机制
public static void printObject(Object obj)
{
if(obj.getClass().isArray()) // 如果是数组将所有元素打印
{
for(int i=0;i<Array.getLength(obj);i++)
{
System.out.println(Array.get(obj,i));
}
}
else //否则直接打印
System.out.println(obj);
}
4、泛型通配符
class<?> 表示任何类型都能接受的参数
ArrayList<? extends Number>表示所有继承Number的参数
ArrayList<T>同样表示任何类型的参数。
泛型推广,表达式:
public T method(T a1,T a2) 方法传参,两个参数类型相同,返回同一类型,
找出两个参数类型的公共父类返回,需要参数a1和a2的父类