Java,将单字符串与字符进行比较

时间:2013-02-24 19:15:34

标签: java

是否有一种简单的方法可以将字符串(您知道只包含一个字符)与字符进行比较?我目前使用的方法感觉有点“笨重”。

c == "x".charAt(0)

其中c是一个字符。我使用“x”(字符串)的原因是因为我不知道如何将x写为char,所以我必须这样做。

2 个答案:

答案 0 :(得分:3)

'x'是一个字符,"x"是一个字符串。

解决方案

c == 'x'

请参阅Java Tutorial: Characters

注意

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

也有效,但我总是采取第一种解决方案,原因如下:

  1. 更容易阅读
  2. 内存效率更高(char需要2个字节,而一个字符的String需要大约40个字节(source))
  3. 更节省时间(不需要演员,不需要复杂的对象比较)

答案 1 :(得分:2)

char c = 'c';

'c'是一个字符,"x"是一个字符串。 if ("x".equals(Character.toString(c)))比较他们。

正如接受的答案所述,我的比较确实有它的缺点,但更具动态性。