我有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