通过手动地改造现有集合,来实现定制集合
/*
案例:手动实现编译时检查类型
通过手动地改造现有集合,来实现定制集合。
: 如果希望创建一个List对象,且该List对象中只能保存字符串类型。
*/
class StrList {
//这道题的思路是: 利用现有的ArrayList集合,进行改造,把其改造成只能存储String类型的集合。
//创建一个 ArrayList对象
private List strList = new ArrayList();
//定义strList的add方法
/**
我们通过限定add方法只能接受String类型的参数,
来实现一个只能用于保存String类型的集合
*/
public boolean add(String ele){
return strList.add(ele); //这里的add方法其实是ArrayList集合的
}
//重写get方法,将get方法返回值类型改为String类型
public String get(int index){
return (String)strList.get(index);
}
public int size(){
return strList.size();
}
}
public class CheckType{
public static void main(String[] args){
//创建一个只想保存字符串的List集合
StrList strList = new StrList();
strList.add("Structs2权威指南");
strList.add("基于J2EE的Ajax宝典");
strList.add("轻量级J2EE企业应用实战");
//下面语句不能把integer对象“丢进”集合中,将引起编译错误
strList.add(5);
System.out.println(strList);
for(int i=0;i<strList.size();i++){
String str= strList.get(i);
}
}
}
|
|