泛型
1.创建集合类对象时,在集合类后面添加<Type(类型)>,指定集合中元素的类型,这种集合称为泛型集合;
语法: List<Type>..... Map<keyType,ValueType>..........
Set<Type>......... Iterator<Type>.............
2.使用泛型的好处:在从集合中取出元素时,无需进行强制转换,避免了ClassCastException异常;
3.代码实例:
//Map类用Iterator 迭代器 遍历元素
Dog dog=new Dog("皮皮","拉布拉多");
Dog dog1=new Dog("花花","哈巴狗");
Dog dog2=new Dog("喵喵","何苗");
Map<String ,Dog> dogs=new HashMap<String,Dog>();
dogs.put("皮皮", dog);
dogs.put("花花", dog1);
dogs.put("喵喵", dog2);
//用Set类保存键集
Set<String> set=dogs.keySet();
Iterator<String> it=set.iterator();
//通过遍历键值,访问Value值
while(it.hasNext()){
System.out.println(dogs.get(it.next()).getStrain());
}
//List类用Iterator 迭代器遍历元素:
List<Dog> listDogs=new ArrayList();
listDogs.add(dog);
listDogs.add(dog1);
listDogs.add(dog2);
Iterator<Dog> ite=listDogs.iterator();
while(ite.hasNext())
{
System.out.println(ite.next().getStrain());
}
使用泛型后,取出的对象即为创建集合对象时指定的类型,通过.即可以.出它所属类的所有方法属性,体现了
使用泛型的好处
包装类
ArrayList list=new ArrayList();
list.add(19);
list.add("禾苗");
list.add('润');
list.add(18.9);
1.以上代码,在向集合添加元素时,add()方法参数却传了基本类型,这会报错吗?
显然这样不会报错,因为他们使用了包装类
2.包装类的含义:指将基本类型包装成类类型;
3.java为每种基本数据类型都提供了包装类,因此java中共有8种包装类:Byte
Short,Integer,Long,Float,Double,Boolean,Character;包装类位于java.lang包当中;
4.包装类常用的构造方法:
public Type(type value)
Type代表包装类,type代表基本类型,创建包装类的代码如下:
Integer intValue=new Integer(21);
Long longValue=new Long(21L);
Character charValue=new Charcter('l');
Boolean blooeanValue=new Boolean(true);
Float floatValue=new Float(21F);
5.常用的转换:
//1.包装类到基本类型的转换
//语法:public type typeValue();
Integer integerId=new Integer(25);
int a=integerId.intValue();
Boolean bl=new Boolean(true);
boolean b=bl.booleanValue();
//2.字符串到基本类型的转换
//语法:public static type parseType(String type)
int num=Integer.parseInt("1");
boolean bl1=bl.parseBoolean("true");