![](/img/trans.png)
[英]Which of the following are correct regarding an equals() method in java?
[英]Which is correct usage of equals method in java?
简单的问题,这是使用equals
正确方法,也提供了答案背后的推理。
"Delta".equals(type)
要么
type.equals("Delta")
通常
"Delta".equals(type)
是有利的,因为不可能抛出NullPointerException
。 也就是说,另一种方式并非“不正确”,因为它与Java语言规范没有错误; 但是, 如果 (type == null)
为true,它很容易失败。
术语“最佳实践”用于区分更好的选择与正确但劣等的选择。 在这种情况下, "Delta".equals(type)
是最佳实践,以避免处理空指针引用所需的不必要的保护代码。
两者都是正确的。 第一个在明确非空字符串上调用compare方法,因此它不会抛出NullPointerException,如果type
为null,则第二个可能会抛出NullPointerException
第一个版本是“更安全”,第二个“读取”更自然
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.