本文旨在为完全不懂泛型,但是感觉泛型很神奇,想试一试的小伙伴使用,没有过于深入挖掘原理,文章相对肤浅。不喜勿喷哦。
一、类 泛型使用
泛型类必须为引用类型的
代码格式
public class TestTwo<T> {
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
}
使用类
public static void main(String[] args) {
TestTwo<String> stringTest = new TestTwo<>();
stringTest.setT("中国");
System.out.println(stringTest.getT());
TestTwo<Integer> integerTest = new TestTwo<>();
integerTest.setT(1);
System.out.println(integerTest.getT());
}
当泛型传入什么类型,则可以处理什么类型数据
二、泛型方法使用
泛型方法的写法:
public class TestTwo {
public <T> void show(T t) {
System.out.println("泛型方法传入数据:" + t);
}
}
泛型方法使用:
public static void main(String[] args) {
TestTwo testTwo = new TestTwo();
testTwo.show("China");
testTwo.show(1);
}
运行结果:
三、泛型接口
泛型接口写法:
public interface TestTwo<T> {
public abstract void test(T t);
}
泛型实现方式:
static class TestImpl<T> implements TestTwo<T> {
@Override
public void test(T t) {
System.out.println(t);
}
}
泛型接口使用:
public static void main(String[] args) {
TestImpl<String> testTwo = new TestImpl<String>();
testTwo.test("泛型测试接口");
}
运行结果:
四、泛型通配符的使用
泛型通配符有三种
1)、<?> 任意通配符
2)、? extends E 向下限定 ,E及其子类
3)、? super E 向上限定 ,E及其父类