Java,"指针"等式和字符串比较

Cod*_*kes 4 java string pointers equality reference

我的C代码使用了很多由静态字符串常量标识的命令.

static char* KCmdA = "commandA"
static char* KCmdB = "commandB"
static char* KCmdC = "commandC"
Run Code Online (Sandbox Code Playgroud)

在CI中可以比较两个字符串与strcmp(A,B),但因为我只通过它们的静态字符串标识符引用这些命令,所以只检查指针不等式更快,因为我知道我的unknowCMD只能是指向我的一个静态字符串的指针字符串.

switch(unknowCMD)
{
    case KCmdA:
    ...
    case KCmdB:
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想在Java中相当于strcmp的方法是等于:

unknowCMD.equals(KCmdA)
Run Code Online (Sandbox Code Playgroud)

Java中是否有等效的指针相等?我知道Java只使用引用.是否可以在不实际比较字符串的情况下使用这些引用进行相等性测试?

对不起,如果这很明显我已经检查了文档,但没有找到任何确定的答案.

Sam*_*iya 6

如果比较字符串引用的相等性使用 ==

if(str1==str2){

}
Run Code Online (Sandbox Code Playgroud)