泛型技术:
jdk5.0后出现,一种安全机制。
格式:
容器<引用类型名>
类名后面加上了泛指,那么意味着有了类型的限定,只能操作泛指的类型
List<String> list = ArrayList<>( );
注意:如果容器中要存放的基本类型数据,泛指中一定要写基本类型的包装类名
List<int>error List<Integer>
好处:不需要再向下抓行了等操作
自定义泛型:
泛型类:在声明类的时候,使用泛型技术,只有创建了对象,才能确定泛型的类型;可以在整个类中使用
泛型接口:1.在实现泛型接口时,确定类型
2.泛型接口具有传递性,接口类型可以传递给实现类,创建实现类对象是确定类型
泛型方法:
静态方法:
static<泛型类型声明> 返回值 方法名(泛指类型 变量名,...)
当调用泛型方法时,根据传递的数据确定泛型方法参数的类型
不可以使用类型上的泛型,因为类上的泛型是在创建对象时确定,而静态方法不需要对象
非静态方法:
<泛型类型声明> 返回值 方法名(泛型类型 变量名,...)
当调用泛型方法时,根据传递的数据确定泛型方法参数的类型
通配符:
?,代表任意类型
泛型限定:
上限:? extends E:? 代表E类型或者是E的子类型
下限:? super E: ? 代表E类型或者是E的父类型
IO技术:
input 输入
output 输出
stream 流
数据从其他的设备上被加载到内存中的这个过程被称为输入(读取)操作
数据从内存中输出到其他的设备上的这个过程被称为输出(写)操作
File:
封装文件或者是目录的信息的,不能操作文件中的数据,想要操作数据只能使用IO技术