定义一个操作类Operation,操作类的属性是泛型类Data;
Operation类构造数组Data[],Data的元素可以实例化为不同的类型
泛型类:作为数组的元素可以实例化成各种类型
class Data<T>{//泛型类,可以实例化各种类型的对象
private T data;
public Data(T data){
(data);
}
public void setData(T data){
=data;
}
public T getData(){
return ;
}
public String toString(){//覆写toString方法,用于输出
return ();
}
}
操作类:构造数组,添加,查找操作
class Operation{//操作类,以泛型类作为自己的属性
private Data[] d;
private int foot;//记录数组长度
public Operation(int n){//创建泛型数组
if(n>0){
=new Data[n];
}else{
("构造异常");
}
}
public void add(Data data){//向泛型数组中加入元素
if(foot<){
d[foot]=data;
++foot;
}else{
("数组已满");
}
}
public void search(Object item){
for(int i=0;i<;++i){
if(d[i].getData().getClass().equals(())&&d[i].getData().equals(item)){
//检测数据类型和数据内容是否都一致
("存在");
return;
}
}
("不存在");
return;
}
public void print(){
for(int i=0;i<;++i){
(d[i]);
}
}
}
测试
public class Train{
public static void main(String args[]){
Operation a=new Operation(5);//创建操作类对象
Data<String>d1=new Data<String>("你好");//String类型
Data<Integer>d2=new Data<Integer>(25);//int类型
Data<Float>d3=new Data<Float>(50.2f);//float类型
Data<Boolean>d4=new Data<Boolean>(true);//bool类型
(d1);
(d2);
(d3);
(d4);
();
(25);
}
}