【发布时间】:2017-01-23 15:42:15
【问题描述】:
在尝试评估 not instanceof 条件时,我发现了 Groovy 2.4.7、1.6.0 JVM 中没有预料到的行为。
总结:
class Foo {
static Boolean bar() {
String x = "Personally, I don't really like King Crimson"
return (!x instanceof Integer)
}
}
我预计 Foo.bar() 会返回 true,因为 x 不是 Integer 的实例,但是 Foo.bar() 返回 false。相反,以下返回 true:
class Foo {
static Boolean bar() {
String x = "Personally, I don't really like King Crimson"
return !(x instanceof Integer)
}
}
这个问题是学术性的,但出于好奇:这是语言中的错误还是我误解了 instanceof 应该如何工作?
【问题讨论】:
标签: groovy instanceof