每日知识点20190211

java

  • 在同一个catch语句中可以捕获多个不存在子类关系的异常
try{
    //
}catch(FileNotFoundException | UnknowHostException e){
    //
}
  • java中原来有提供断言,学到了学到了.

  • 泛型类、泛型方法

  • 一个类型变量或通配符可以有多个限定.限定类型用&分隔,而逗号用来分隔类型变量.

  • 对于编译器来说,用方法名+参数列表来确定一个方法签名.而对于虚拟机来说,用参数类型+返回类型来确定一个方法,编译器不允许开发者编码出方法名一致,返回值却不同的方法,而它自己却可以自动生成这种操作(产生两个仅返回类型不同的方法字节码)并交给虚拟机来处理.这种操作在泛型中称为桥方法,它主要用来避免类型变量擦除所带来的多态灾难.

桥方法

  • 运行时类型查询只适用于原始类型.意思是泛型不支持类型检查.
//该类型检查会得到一个编译器错误
if(a instanceof Test<String>){
    //something
}
  • 不能使用像new T()、new T[]、T.class这样子表达式中的类型变量.

  • 泛型类的静态上下文中类型变量无效.

  • 不能抛出或捕获泛型类的实例.

  • 带有超类型限定的通配符可以向泛型对象写入,带有子类型限定的通配符可以从泛型对象读取.

posted @ 2020-12-21 22:32  zliawk  阅读(57)  评论(0)    收藏  举报