我的 C 代码使用了很多由静态字符串常量标识的命令。
static char* KCmdA = "commandA"
static char* KCmdB = "commandB"
static char* KCmdC = "commandC"
例如,在 C 中,我可以将两个字符串与 strcmp(A, B) 进行比较,但由于我仅通过静态字符串标识符引用这些命令,因此仅检查指针不等式会更快,因为我知道我的 unknowCMD 只能是指向一个的指针我的静态字符串。
switch(unknowCMD)
{
case KCmdA:
...
case KCmdB:
...
}
我想在 Java 中等同于 strcmp 的方法是 equals:
unknowCMD.equals(KCmdA)
在 Java 中是否有等价的指针相等性?我知道 Java 只使用引用。是否可以在不实际比较字符串的情况下使用这些引用进行相等性测试?
抱歉,如果这很明显,我已经检查了文档,但没有找到任何明确的答案。
最佳答案
如果你比较字符串引用的相等性使用==
if(str1==str2){
}
关于Java, "pointer"相等与字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11430543/