其他分享
首页 > 其他分享> > 集合框架3------泛型

集合框架3------泛型

作者:互联网

泛型

参考视频:13.17 泛型概述哔哩哔哩bilibili

 

 

 

代码

一、1.创建Demo.java

/**
* 泛型类
* 语法 类名<T>
* T是类型占位符,表示一种引用类型,如果编写多个,使用逗号隔开
*/
public class Demo<T> {
   //1.创建变量
   T t;

   //2.作为方法的参数
   public void show(T t){
       System.out.println(t);
  }

   //3.泛型作为方法的返回值
   public T getT(){
       return t;
  }
}

2.创建Test进行测试

public class Test {
   public static void main(String[] args) {
       //使用泛型类创建对象
       Demo<String> stringDemo = new Demo<>();
       stringDemo.t = "Hello";
       stringDemo.show("大家好!!");//将字符串传入到Demo类中,输出大家好!!
       String s = stringDemo.getT();
       System.out.println(s);//输出Hello

       Demo<Integer> integerDemo = new Demo<>();
       integerDemo.t = 200;
       integerDemo.show(300);
       Integer t = integerDemo.getT();
       System.out.println(t);
  }
}
/*注意,1.泛型只能使用引用类型(Integer Long Boolean Byte Character Double Float Short)。
    2.不同的泛型对象不能相互复制
    */

二、接口实现泛型

//1.创建接口
public interface MyInterface<T> {
   String name = "张三";

   T server(T t);
}


//2.1.根据所输入的数据变化的实现类
public class MyInterfaceIneger<Integer> implements MyInterface{
   @Override
   public Object server(Object o) {
       System.out.println(o);
       return o;
  }
}
//2.2.创建定死类型的实现类,如下面的代码只能是String。
public class MyInterfaceImpl implements MyInterface<String>{

   @Override
   public String server(String s) {
       System.out.println(s);
       return s;
  }

}


//3.测试
public class Test {
   public static void main(String[] args) {
       //使用泛型类创建对象
       Demo<String> stringDemo = new Demo<>();
       
       //测试String类型接口
       MyInterfaceImpl myInterface = new MyInterfaceImpl();
       myInterface.server("努力!奋斗!");

       //测试Integer类型接口
       MyInterfaceIneger myInterfaceIneger = new MyInterfaceIneger();
       myInterfaceIneger.server(100);

三、自定义方法实现泛型

public class MyGenericsMethod {

   //自定义一个方法
   public <T> void show(T t){
       System.out.println("泛型方法:"+t);
  }
}


//测试
public class Test {
   public static void main(String[] args) {
       //使用泛型类创建对象
       Demo<String> stringDemo = new Demo<>();


       //测试泛型方法
       MyGenericsMethod myGenericsMethod = new MyGenericsMethod();
       myGenericsMethod.show("红果阿萨德飞机");//String型
       myGenericsMethod.show(200);//Integer型
       myGenericsMethod.show(3.14);//Double型
  }
}

泛型集合

 

 

import java.util.ArrayList;
import java.util.Iterator;

public class Demo2 {
   public static void main(String[] args) {
       ArrayList<Student> arrayList = new ArrayList<>();
       Student s1 = new Student("小明",11,4);
       Student s2 = new Student("小红",12,5);
       Student s3 = new Student("小李",13,6);
       arrayList.add(s1);
       arrayList.add(s2);
       arrayList.add(s3);

       Iterator<Student> iterator = arrayList.iterator();
       while (iterator.hasNext()){
           Student s = iterator.next();//此处不需要强制转换了
           System.out.println(s.toString());
      }
  }
}
 

标签:String,Demo,class,泛型,------,new,集合,public
来源: https://www.cnblogs.com/mokuiran/p/16585919.html