java中的instanceOf运算符
为什么Java中的这行代码没有打印消息java中的instanceOf运算符,java,instanceof,Java,Instanceof,为什么Java中的这行代码没有打印消息 System.out.println("a instanceof String:"+a instanceof String); 为什么只打印true而不打印前面的字符串??啊,运算符优先的乐趣。这条线实际上是: System.out.println(("a instanceof String:" + a) instanceof String); 。。。因此,您要进行字符串连接,然后检查结果是否为字符串。因此,无论a的值是多少,它都将始终打印true 你
System.out.println("a instanceof String:"+a instanceof String);
为什么只打印true而不打印前面的字符串??啊,运算符优先的乐趣。这条线实际上是:
System.out.println(("a instanceof String:" + a) instanceof String);
。。。因此,您要进行字符串连接,然后检查结果是否为字符串。因此,无论a
的值是多少,它都将始终打印true
你只需要括号
System.out.println("a instanceof String:" + (a instanceof String));
请参阅以获取优先级列表。您的代码将按如下方式执行:
System.out.println((“字符串实例:”+a)字符串实例)代码>
因此,对于instanceof
检查,考虑了整个字符串,即(“字符串实例:”+a)
要打印,“字符串实例:true”
,需要在正确的位置使用括号:
System.out.println("a instanceof String:" + (a instanceof String));
你必须使用括号
System.out.println(("a instanceof String:"+a) instanceof String);
也许你应该告诉我们
a
是什么?@RC.:事实上,这并不重要。“但是是的,a会更好。”琼斯凯我看到了你的答案,所以是的,在这种情况下没关系;)