Java 为什么可以';我在第一个条件中使用类型检查变量作为第二个条件中的类型转换变量吗?
为什么下面的给定语法错误?Java 为什么可以';我在第一个条件中使用类型检查变量作为第二个条件中的类型转换变量吗?,java,class,object,casting,type-conversion,Java,Class,Object,Casting,Type Conversion,为什么下面的给定语法错误? 类型的方法未定义 这个很好用- if(a instanceOf A && a.foo()) { ..... } 对于人类来说,很明显a属于a类型,这是因为instanceof检查。但是编译器不是那样工作的,因此您仍然需要将a转换为a转换为人类a类型很明显,因为a检查的实例。尽管编译器不是那样工作的,因此您仍然需要将a强制转换为a以前,只返回true或false,对其操作数的类型没有影响 (或参见等级库预览)。当且仅当检查成功时,您才能够声明一个新的内
类型的方法未定义 这个很好用-
if(a instanceOf A && a.foo()) {
.....
}
对于人类来说,很明显
a
属于a
类型,这是因为instanceof
检查。但是编译器不是那样工作的,因此您仍然需要将a
转换为a
转换为人类a
类型很明显,因为a
检查的实例。尽管编译器不是那样工作的,因此您仍然需要将a
强制转换为a
以前,只返回true
或false
,对其操作数的类型没有影响
(或参见等级库预览)。当且仅当检查成功时,您才能够声明一个新的内联变量,该变量将是instanceof
的目标类型
例如,您的代码如下所示
if(a instanceOf A && ((A)a).foo()) {
.....
}
以前,只返回true
或false
,对其操作数的类型没有影响
(或参见等级库预览)。当且仅当检查成功时,您才能够声明一个新的内联变量,该变量将是instanceof
的目标类型
例如,您的代码如下所示
if(a instanceOf A && ((A)a).foo()) {
.....
}
if(a instanceof A actual && actual.foo()) {
// ...
}