0

有没有一种简单的方法来比较一个字符串(你知道它只包含一个字符)和一个字符?我目前使用的方法感觉有点“笨拙”。

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 个字节,而具有一个字符的 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 回答