【发布时间】:2012-01-11 16:50:07
【问题描述】:
我有大代码和这样的行:
System.out.println(car.getName());
System.out.println(car.getName() == null);
第一行打印输出: 空
但是第二行打印出来的是假的,所以 null == null 是假的?
我也尝试过System.out.println(car.getName() == "null");,因为 getName 返回字符串但结果相同
【问题讨论】:
-
car.getName() 返回什么?空还是“空”?
-
试试
System.out.println(student.getName().equals("null")); -
那是学生还是汽车?无论如何,尝试 car.getName().equals("null")
-
@JackEdmonds 啊对,是String的方法,我写的时候返回true System.out.println(car.getName().equals("null"))
-
@Templar:那么您的代码中有一个主要的设计问题。如果意图表示“无价值”,则永远不应将
null存储为字符串"null"。也许在某个地方有一个name = String.valueOf(someObj)。