泛型数组Java(数组中存入不同类型的元素)

时间:2025-03-15 08:52:18

定义一个操作类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);
	}
}

相关文章