我刚刚写了一个代码:

Boolean b1 = new Boolean("programmer");
Boolean b2 = new Boolean("tester");
System.out.println(b1.equals(b2));


它输出true作为输出。为什么?


  根据JAVA文档
  
  new Boolean(String):如果字符串参数不为null且相等,则分配一个表示true值的布尔对象,忽略
  大小写,则为字符串“ true”。

最佳答案

Boolean b1 = new Boolean("programmer"); // false
Boolean b2 = new Boolean("tester"); // false


因此,测试false == falsetrue




  从public Boolean(String s) constructor signature
  
  
  Boolean.parseBoolean("True")返回true
  Boolean.parseBoolean("yes")返回false

关于java - JAVA boolean 值构造函数产生意外结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42367456/

10-13 21:45