泛型
代码
一、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;标签:String,Demo,class,泛型,------,new,集合,public From: https://www.cnblogs.com/mokuiran/p/16585919.html
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());
}
}
}