为什么Groovy没有捕获我的instanceof?

时间:2014-12-01 21:25:58

标签: groovy instanceof

在以下代码中:

static void main(String[] args) {
    String str

    if(str instanceof String) {
        println "'str' is a String!"
    } else {
        println "I have absolutely no idea what 'str' is."
    }
}

陈述" 我完全不知道' str'是&#34。什么打印。 为什么,以及如何让Groovy看到str是一个字符串(除了使字符串非空)?

1 个答案:

答案 0 :(得分:9)

因为str为空,而不是String

instanceof关键字询问引用指向的对象,而不是引用类型。

修改

试试这个......

static void main(args) {
    String str = 'King Crimson Rocks!'

    if(str instanceof String) {
        println "'str' is a String!"
    } else {
        println "I have absolutely no idea what 'str' is."
    }
}