泛型
泛型类
* 语法:类名<T>
* T是类型占位符,表示一种引用类型,如果编写多个使用逗号隔开
-
java泛型是KDL1.5引入的一个新特性,本质是参数化类型。把类型作为参数传递
-
常见形式有泛型类、泛型接口、泛型方法
-
语法
- <T,…>T称为类型占位符目标是一种引用类型
-
好处
-
- 提高代码的重用性
- 防止类型转换异常,提高代码的安全性
-
public class Generic<T> {
//使用泛型T
//创建遍历
T t;
//添加方法
public void show(T t){
System.out.println(t);
}
//泛型作为方法的返回值
public T getT(){
return t;
}
}
//使用泛型类创建对象
//注意:1泛型只能使用引用类型,2不同泛型对象不能相互复制
Generic<String> generic = new Generic<String>();
generic.t="Hello";
generic.show("阿娆");
String st=generic.getT();
Generic<Integer> generic1=new Generic<Integer>();
generic1.t=100;
generic1.show(200);
generic1.getT();
//Integer integer=generic1.getT();
阿娆
200
泛型接口
* 泛型接口
* 语法:接口名<T>
* 注意:不能使用泛型静态常量
1.
public class InterfaceImpl implements Interface<String> {
public String server(String t){
System.out.println(t);
return t;
}
}
1.
InterfaceImpl impl= new InterfaceImpl();
impl.server("sajzdckzx");
2.
InterfaceImpl2<Integer> impl2= new InterfaceImpl2();
impl2.server(1000);
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j0E8Jb4f-1637724251911)(C:\Users\17730\AppData\Roaming\Typora\typora-user-images\image-20211121171806104.png)]点这个进方法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tE8NukxJ-1637724251913)(C:\Users\17730\AppData\Roaming\Typora\typora-user-images\image-20211121171829203.png)]这个回去
2.
public class InterfaceImpl2<T> implements Interface<T> {
public T server(T t){
System.out.println(t);
return t;
}
}
泛型方法
/**
* 泛型方法
* 语法:<T>返回值类型
* */
method.show("泛型方法");//类型由传递的值决定
public class Method {
//泛型方法
public <T> void show(T t){
System.out.println("泛型方法");
}
}
好处
好处
-
提高代码的重用性
-
防止类型转换异常,提高代码的安全性
泛型集合
[java集合的泛型]((1条消息) Java中集合的泛型(详解)_SuPrEeMm的博客-CSDN博客_集合泛型)
需要后面继续学的东西哦,这没懂
PrEeMm的博客-CSDN博客_集合泛型](https://blog.csdn.net/Ssssssue/article/details/79133065))
需要后面继续学的东西哦,这没懂