泛型的概念:
是一种未知的数据类型,暂时不知道使用什么类型的数据
使用泛型的优缺点:
存取类型一致,避免类型转换;运行期的类型不一致异常提前到编译期
缺点是只能存储同一种类型,泛型是什么类型就只能存什么类型
泛型的使用方式:
1、定义使用含有泛型的类
2、定义使用含有泛型的方法
public static void main(String[] args) {
// 定义泛型类未使用
GenericDemo genericDemo = new GenericDemo();
genericDemo.setName("泛型类");
System.out.println(genericDemo.getName());
genericDemo.setName(100);
System.out.println(genericDemo.getName());
genericDemo.setName(true);
System.out.println(genericDemo.getName());
// 定义泛型类并使用
GenericDemo<String> genericDemo2 = new GenericDemo();
genericDemo2.setName("泛型");
// genericDemo2.setName(100);
// 定义泛型方法带参数并使用
genericDemo.method("hh");
genericDemo.method(1);
genericDemo.method(1.8);
genericDemo.method(true);
// 定义泛型方法不带参数并使用
genericDemo.method2();
// 定义泛型静态方法带参数并使用
GenericDemo.methodStatic("静态");
GenericDemo.methodStatic(false);
GenericDemo.methodStatic(new int []{0,1});
GenericDemo.methodStatic(100.22);
GenericDemo.methodStatic(22);
}
}
3、定义使用含有泛型的接口
1)定义接口的实现类时指定泛型的类型
2)实现类的泛型和接口泛型一致
测试使用
泛型通配符:
不知道使用什么类型来接收的时候可以使用通配符 ?,?表示通配符
泛型通配符的基本使用:
泛型通配符的高级使用:
泛型的上限限定、泛型的下限限定