静的文字列定数で識別される多くのコマンドを使用するCコードを作成しました。
static char* KCmdA = "commandA"
static char* KCmdB = "commandB"
static char* KCmdC = "commandC"
CIでは、たとえば2つの文字列をstrcmp(A、B)と比較できますが、静的文字列識別子を介してこれらのコマンドを参照するだけなので、unknowCMDは静的文字列の1つへのポインタにしかなり得ないことがわかっているため、ポインタの不等式のみをチェックする方が高速です。文字列。
switch(unknowCMD)
{
case KCmdA:
...
case KCmdB:
...
}
Javaでは、strcmpと同等のメソッドは次のようになります。
unknowCMD.equals(KCmdA)
Javaにポインタの同等性に相当するものはありますか?私はJavaが参照のみを使用することを知っています。実際に文字列を比較せずに、これらの参照を同等性テストに使用することは可能ですか?
これが明らかな場合は申し訳ありませんが、ドキュメントを確認しましたが、明確な答えは見つかりませんでした。