【发布时间】:2012-07-11 10:21:53
【问题描述】:
我的 C 代码使用了大量由静态字符串常量标识的命令。
static char* KCmdA = "commandA"
static char* KCmdB = "commandB"
static char* KCmdC = "commandC"
例如,在 CI 中可以将两个字符串与 strcmp(A, B) 进行比较,但由于我只通过它们的静态字符串标识符引用这些命令,因此只检查指针不等性会更快,因为我知道我的 unknowCMD 只能是指向一个的指针我的静态字符串。
switch(unknowCMD)
{
case KCmdA:
...
case KCmdB:
...
}
我猜在 Java 中相当于 strcmp 的方法是 equals:
unknowCMD.equals(KCmdA)
在 Java 中是否存在等价的指针?我知道 Java 只使用引用。是否可以在不实际比较字符串的情况下使用这些引用进行相等测试?
对不起,如果这很明显,我已经检查了文档,但没有找到任何明确的答案。
【问题讨论】:
标签: java string pointers reference equality