下载此文档

day18(泛型、Map集合)总结.doc


文档分类:医学/心理学 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
Day18总结
泛型类:
在写容器之前想要容器中要存什么?所以要先写好泛型
Eg:TreeSet<Person> ts=new TreeSet<Person>();
有了泛型后强制转换就没有用
Eg:public class Person parator<Person>{}
pare方法就不用强制转换了。
Public pare(Person p){}这里就不用在做强制转换了。
实现代码:
Public static void main(String[] args){
Tool t=new Tool();
(new Cat());
(new Dog());这时编译会出现没问题,但是运行时会出现错误,因为发生了类型转换异常,dog不能转换成Cat。
Cat c=(Cat)();
Tool<Cat> t=new Tool<Cat>();
(new Cat());此时就不用强转了
(new Dog()):此时编译就失败,把运行时的异常转到编译时候。
}
Class Cat{}
Class Dog{}
/*
Class Tool{
Private Object obj;
Public void setObject(Object obj){
=obj;
}
Public Object getObject(){
Return obj;
}
}
*/
改进后
Class Tool<T>{
Private T t;
Public void setObject(T t){
=t;
}
Public T getObject(){
Return t;
}
}
总结:这就是将泛型定义在类上,这个类称为泛型类,是一种替代Object类的一种技术,因为Object类有自动类型提升和转换,泛型已经替代它做了,编译时期更安全,省去了强转的麻烦。
什么时候使用泛型类?当类中要操作的引用数据类型不确定的时候,以前使用的是共性类型Object现在可以使用泛型来解决,比Object更为安全。
泛型方法:既然类中的方法操作类型不确定,其实可以将泛型定义在方法上。
实现代码:
Tool<String> t=new Tool2<String>>();
(new Integer(5));编译失败,因为类型不一致。
Tool2<Integer> t1=new Tool2<Integer>();这样便可以操作Integer类型的对象了。
();
Class Tool2<T>{
显示对象的打印结构,可是对象不确定,所以使用Object,而现在可以使用泛型解决。
<W>void show(W obj){
Sop(obj);
}
当静态方法的时候,如果方法是静态的是无法访问类上定义的泛型的,如果该方法还需要泛型,必须将泛型定义在方法上,
Static <Y> void staticMethod(Y t){}
泛型定义在方法上时只能放在返回值的前面和修饰符的后面
}
什么时候使用泛型方法?当方法操作的引用数据类型不确定的时候就使用方法。

day18(泛型、Map集合)总结 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人287865472
  • 文件大小66 KB
  • 时间2018-11-14
最近更新