Java在比较char、Unicode或ASCII码时比较什么?

What does Java compare, when comparing char, Unicode or ASCII code?

例如,char hello='a'char hello2='b'

现在我做 if (hello<hello2) ...

if里面确实是,但是Java比较的是什么,Unicode还是ASCII码?

比较整数值。字符长度为 2 个字节,因此将检查 2 个字节的值。

基本上是UTF-16。这样做的原因是当 Java 出来时,我们只是认为 ASCII 不够好,但没有意识到我们需要我们所做的字符数。我们认为从 8 位到 16 位就足够了。事实并非如此,但是当 UTF-8 胜出时,改变已经太晚了。