每日知识点20190211
java
- 在同一个catch语句中可以捕获多个
不存在子类关系的异常
try{
//
}catch(FileNotFoundException | UnknowHostException e){
//
}
-
java中原来有提供
断言,学到了学到了. -
泛型类、泛型方法
-
一个类型变量或通配符可以有多个限定.限定类型用&分隔,而逗号用来分隔类型变量.
- 对于编译器来说,用方法名+参数列表来确定一个方法签名.而对于虚拟机来说,用参数类型+返回类型来确定一个方法,编译器不允许开发者编码出方法名一致,返回值却不同的方法,而它自己却可以自动生成这种操作(产生两个仅返回类型不同的方法字节码)并交给虚拟机来处理.这种操作在泛型中称为
桥方法,它主要用来避免类型变量擦除所带来的多态灾难.

- 运行时类型查询只适用于原始类型.意思是泛型不支持类型检查.
//该类型检查会得到一个编译器错误
if(a instanceof Test<String>){
//something
}
-
不能使用像new T()、new T[]、T.class这样子表达式中的类型变量.
-
泛型类的静态上下文中类型变量无效.
-
不能抛出或捕获泛型类的实例.
-
带有超类型限定的通配符可以向泛型对象写入,带有子类型限定的通配符可以从泛型对象读取.
浙公网安备 33010602011771号