Java, "pointer"相等与字符串比较

标签 java string pointers reference equality

我的 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/

相关文章:

c - 扫描并打印字符串

Objective-C:将整个 double 值转换为字符串而不丢失数据

java - 我怎样才能在java中压缩一个字符串?

c++ - 如何使这个运算符(operator)调用明确?

c++ - g++ 和 Visual Studio 中方法指针转换规则的区别

java - 编写正则表达式来验证电话号码

java - 如何通过 JNI 将结构从 C 传回 Java

java - 如何手动生成JUnit测试报告

java - 使用 SimpleTable 数据填充 JCombobox

C++ 指向对象类型检查的指针