JAVA泛型练习题

一,按照要求定义一个操作类:要求完成一个一维数组操作类,其中可以加入任意类型的数据,数组的具体操作类型由程序外部决定,并且可以实现查询的功能

package one;
class Data<T>
{
 private T info;
 public Data(T info){
  this.info=info;
 }
  public String toString(){
   return this.info.toString();
  }
 public T getInfo(){
  return this.info;
 }
}
class Operation{
 private Data[] datas;
 private int foot=0;
 public Operation(int len){
  if(len>0){
   this.datas=new Data[len];
  }
  else{
   this.datas=new Data[1];
  }
 }
 public void add(Data data){
  if(this.foot<this.datas.length){
   this.datas[this.foot]=data;
   foot++;
  }
  else{
   System.out.print("数组已填满\n");
  }
 }
 public void search(Object x){
  int i=0;
  boolean flag=false;
  for(Data data:this.datas){
   if(data.getInfo().getClass()==x.getClass()&&data.toString().equals(x.toString())){
    if(flag==false)
     {
     System.out.print("存在,data["+i+"]="+x+"\n");
     flag=true;
     }
   }
   i++;
  }
   if(flag==false) System.out.print("不存在"+x+"\n");
  }
}
class Person{
 private String name;
 public String toString(){
  return name;
 }
 public  Person(String name){
  this.name=name;
 }
}
public class one1 { 
 public static void main(String[] args) throws Exception {
  Operation op=new Operation(3);
  op.add(new Data<Person>(new Person("张三")));
  op.add(new Data<Integer>(6));
  op.add(new Data<String>("123"));
  Person per=new Person("张三");
  op.search(per);
  op.search(6);
  op.search("123");
 }
}

运行结果:
在这里插入图片描述

你可能感兴趣的:(JAVA学习)