Can you compare chars with ==?
本问题已经有最佳答案,请猛点这里访问。
对于字符串,必须使用等于来比较它们,因为==只比较引用。
如果我将chars与==比较,它会给出预期的结果吗?
我在StackOverflow上也看到过类似的问题,例如
- Java中的=VS相等()的区别是什么?
但是,我还没有看到一个询问关于在chars上使用==的问题。
是的,
您甚至可以直接将char与数字进行比较,并在计算中使用它们,例如:
1 2 3 4 5 6 7 8 | 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 } } |
将打印:
1 2 3 4 | 97 true 98 b |
是的,但也不是。
从技术上讲,
1 2 3 4 5 6 7 |
Java是隐式地将EDCOX1的4行转换成EDCOX1×5。
然而,这种比较仍然"有效"。