您可以将字符与 == 进行比较吗?

2022-01-12 00:00:00 char compare equals java

对于字符串,您必须使用 equals 来比较它们,因为 == 只比较引用.

For Strings you have to use equals to compare them, because == only compares the references.

如果我将字符与 == 进行比较,它会给出预期的结果吗?

Does it give the expected result if I compare chars with == ?

我在stackoverflow上看到过类似的问题,例如

I have seen similar questions on stackoverflow, E.g.

  • == vs equals()有什么区别在 Java 中?

但是,我还没有看到有人询问有关在字符上使用 == 的问题.

However, I haven't seen one that asks about using == on chars.

推荐答案

是的,char 和其他原始类型一样,你可以通过 == 来比较它们.

Yes, char is just like any other primitive type, you can just compare them by ==.

您甚至可以将 char 直接与数字进行比较并在计算中使用它们,例如:

You can even compare char directly to numbers and use them in calculations eg:

public class Test {
    public static void main(String[] args) {
        System.out.println((int) 'a'); // cast char to int
        System.out.println('a' == 97); // char is automatically promoted to int
        System.out.println('a' + 1); // char is automatically promoted to int
        System.out.println((char) 98); // cast int to char
    }
}

将打印:

97
true
98
b

相关文章