2

简单的问题是正确的使用方法equals,也提供答案背后的推理。

"Delta".equals(type) 

或者

type.equals("Delta")
4

2 回答 2

8

一般来说

"Delta".equals(type)

受到青睐,因为不可能抛出NullPointerException. 也就是说,另一种方式并非“不正确”,因为它与 Java 语言规范没有错误;但是,如果 (type == null)为真,它很容易失败。

术语“最佳实践”用于区分更好的选择和正确但较差的选择。在这种情况下"Delta".equals(type)是一种最佳实践,以避免处理空指针引用所需的不必要的保护代码。

于 2012-04-17T16:02:22.920 回答
1

两者都是正确的。第一个在绝对非空的字符串上调用 compare 方法,所以它不会抛出 NullPointerException,第二个可能 iftype为 null

第一个版本“更安全”,第二个“阅读”更自然

于 2012-04-17T16:03:17.850 回答