Java中的字符串相等

Ani*_*Dev 4 java string coding-style

在检查两个Java的相等性时,我已经看到了这两个String:

// Method A
String string1;
// ...
if("MyString".equals(string1)) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

// Method B
String string1;
// ...
if(string1.equals("MyString")) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:哪一个更好,更广泛使用?

Ara*_*ram 10

如果您确定string1永远不能为null,则选项2是可读且首选的.否则选项1.选项1的意图是避免潜在的空指针.

  • 为什么这会被贬低?确实,选项2更自然(变量与文字相比,反之亦然),除非考虑空值. (2认同)