泛型
- 参数化类型(parameterized type),即泛型
- 泛型可以限定操作的数据类型,在定义集合类时,可以使用**"<参数化类型>"的方式指定该集合中存储的数据类型**
具体格式:
ArrayLsit<参数化类型>list = new ArrayList<参数化类型>();
代码如下:
package com.sgl;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Object> list = new ArrayList<>(); //添加字符串类型
list.add("String");
list.add("Collection");
list.add(1); //添加integer类型
for (Object obj :
list) {
String str = (String) obj; //强制转换为String类型
System.out.println(str);
}
}
}
运行结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AFVugtSt-1629096404809)(C:\Users\shiga\Pictures\Saved Pictures\QQ截图20210804104820.png)]
参数类型化后:
package com.sgl;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>(); //添加字符串类型
list.add("String");
list.add("Collection");
//list.add(1) //编译报错
for (String str :
list) {
System.out.println(str);
}
/*运行结果:
String
Collection
*/
}
}
简述:
使用泛型规定了ArrayList集合只能存入String类型元素,注意的是,可以指定元素类型为String,而不是Object,这样就避免了在程序中进行强制类型转换