繁体   English   中英

java中的instanceOf运算符

[英]instanceOf operator in java

为什么Java中的这行代码不能打印消息?

System.out.println("a instanceof String:"+a instanceof String);

为什么它只是打印真实而不是之前的字符串???

啊,运营商优先的乐趣。 该行有效:

System.out.println(("a instanceof String:" + a) instanceof String);

...所以你正在进行字符串连接,然后检查结果是否是一个字符串。 因此,无论a的值如何,它都将始终打印为true

你只需要括号

System.out.println("a instanceof String:" + (a instanceof String));

有关优先级列表,请参阅运算符Java教程页面

您的代码将按如下方式执行:

System.out.println(("a instanceof String:"+a) instanceof String);

因此,整个字符串ie ("a instanceof String:"+a)已被考虑用于检查instanceof

要打印"a instanceof String:true" ,您需要在正确的位置使用括号:

System.out.println("a instanceof String:" + (a instanceof String));

你必须使用括号。

System.out.println(("a instanceof String:"+a) instanceof String);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM