我有C代码,它使用了许多由静态字符串常量标识的命令。Java,“指针”相等和字符串比较
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只使用引用。是否有可能使用这些引用进行平等测试而不实际比较字符串?
对不起,如果这是显而易见的我已经检查了文档,但没有找到任何明确的答案。
确实。我其实并没有使用它们,因为我在某个地方看到它不是在Android上推荐的。但它实际上可能是我的问题的最佳方法。我将能够使用带有枚举的switch语句。 – CodeFlakes 2012-07-11 10:35:58