lxsbiji

Java关键字(一)——instanceof

1 类型之间的转换:

父类转子类
Person p=new student()
student p=(student)Person p

instanceof

如果用伪代码描述:
1
2
3
4
5
6
7
8
9
10
11
boolean result;
if (obj == null) {
result = false;
} else {
try {
T temp = (T) obj; // checkcast
result = true;
} catch (ClassCastException e) {
result = false;
}
}
也就是说有表达式 obj instanceof T,instanceof 运算符的 obj 操作数的类型必须是引用类型或空类型; 否则,会发生编译时错误。
如果 obj 强制转换为 T 时发生编译错误,则关系表达式的 instanceof 同样会产生编译时错误。 在这种情况下,表达式实例的结果永远为false。
在运行时,如果 T 的值不为null,并且 obj 可以转换为 T 而不引发ClassCastException,则instanceof运算符的结果为true。 否则结果是错误的

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-06-14
猜你喜欢
  • 2021-12-22
  • 2021-08-13
  • 2021-07-17
相关资源
相似解决方案