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 胜出时,改变已经太晚了。
例如,char hello='a'
和 char hello2='b'
现在我做
if (hello<hello2) ...
if里面确实是,但是Java比较的是什么,Unicode还是ASCII码?
比较整数值。字符长度为 2 个字节,因此将检查 2 个字节的值。
基本上是UTF-16。这样做的原因是当 Java 出来时,我们只是认为 ASCII 不够好,但没有意识到我们需要我们所做的字符数。我们认为从 8 位到 16 位就足够了。事实并非如此,但是当 UTF-8 胜出时,改变已经太晚了。