为什么这行Java代码没有打印出信息?
System.out.println("a instanceof String:"+a instanceof String);
为什么只打印true而不是它前面的字符串?
为什么这行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);
因此,整个字符串即("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);
a
是什么? - user180100