OCJP之泛型 尚未搞定 如有好的资源 请推荐。。。
来源:互联网 发布:冰川网络知乎 编辑:程序博客网 时间:2024/06/05 09:08
泛型可以加到类、方法中,作用域不用
1 范型最基本的应用
规定指定容器存放元素的类型,如果不按照事先规定的类型存放,直接会报Compilation error
import java.util.*;class Snake {static List<String> s1 = new ArrayList<String>();}public class Chips extends Snake {public static void main(String[] args) {List c1 = new ArrayList();s1.add("1"); s1.add("2");c1.add("3"); c1.add("4");getStuff(s1, c1);}static void getStuff(List<String> a1, List a2) {for(String s1: a1) System.out.print(s1 + " ");//Below for-each cannot be compiled; a2 stored Object, cannot be converted to String;//for(String s2: a2) System.out.print(s2 + " ");} }
2 泛型编译与运行
编译时看类型,运行时找对象....泛型编译时,自动擦除,不会报编译错误,只会有警告...
package com.ocjp.generic; import java.util.*; public class Salt { public static void main(String[] args) { Set s1 = new HashSet(); s1.add(0); // int放到了 Set s1;但是int被当成Object; s1.add("1"); // String放到了 Set s1;但是String被当成Object;// 调do2()时,将Object的Set传给了有约束的Set<Number>,编译时,泛型擦除;这样写是可以的。 doStuff(s1);} static void doStuff(Set<Number> s) { do2(s);Iterator i = s.iterator();while(i.hasNext()) System.out.print(i.next() + " ");Object[] oa = s.toArray(); for(int x = 0; x < oa.length; x++) System.out.print(oa[x] + " ");System.out.println(s.contains(0)); //true; 只有数字0,contains()本质也是调用的Integer.euqals();System.out.println(s.contains("0")); //false;System.out.println(s.contains("1")); //true;只有字符串1,contains()本质也是调用的String.euqals();} static void do2(Set s2) { System.out.print(s2.size() + " "); } }
Output:
2 0 1 0 1 true
false
true
3 通配符
- OCJP之泛型 尚未搞定 如有好的资源 请推荐。。。
- OCJP之assert
- OCJP之inner class
- OCJP之Container
- OCJP之Integer autoboxing
- OCJP之Console
- OCJP之陷井
- OCJP之binarySearch
- OCJP之this指针
- OCJP之有继承关系时,对象的初始化顺序
- java的oracle考试认证(OCJP)之路
- ocjp认证的作用
- OCJP之MultipleThread 更新中...
- OCJP之正则 更新中。。。
- OCJP之国际化 更新中
- OCJP之权限控制符
- emacs的资源推荐
- JQUERY的资源推荐
- Windows 7开启Admistrator管理员账户方法
- android美术制作——9妹图片
- UFT/QTP 11.52补丁发布,支持IE10、FF20
- An internal error occurred during: "Add Deployment".
- 杂谈。。。
- OCJP之泛型 尚未搞定 如有好的资源 请推荐。。。
- 枚举系统的串口
- 设计模式C++学习笔记之十五(Composite组合模式)
- WPF编程遇错:未找到类型“local:XXX”
- Adobe CS5 通用破解补丁的使用方法
- 用JDBC创建oracle触发器
- eclipse启动tomcat无法访问
- 编译器错误 error CS0120
- Windows 7家长控制设置使用方法