0

文字列(1文字しか含まれていないことがわかっている)を文字と比較する簡単な方法はありますか?私が現在使用している方法は、少し「不格好」な感じがします。

c == "x".charAt(0)

ここで、cは文字です。「x」(文字列)を使用しているのは、xをcharとして記述する方法がわからないため、これを行う必要があるためです。

4

2 に答える 2

3

'x'文字で"x"あり、文字列です。

解決

c == 'x'

Javaチュートリアル:文字を参照してください

ノート

"x".equals(Character.toString(c))

も機能しますが、次の理由で常に最初の解決策を取ります。

  1. 読みやすい
  2. メモリ効率が高くなります(charには2バイトが必要ですが、1文字のStringには約40バイトが必要です(source)) 。
  3. より時間効率が良い(キャストする必要がない、複雑なオブジェクト比較の必要がない)
于 2013-02-24T19:17:57.463 に答える
2
char c = 'c';

'c'は文字で"x"あり、文字列です。 if ("x".equals(Character.toString(c)))それらを比較します。

受け入れられた回答に記載されているように、私の比較には欠点がありますが、より動的です。

于 2013-02-24T19:18:07.670 に答える