gpt4 book ai didi

java - 什么是空文字?

转载 作者:搜寻专家 更新时间:2023-11-01 01:08:14 25 4
gpt4 key购买 nike

我写了下面的程序。

public class StringTest {
public static void main(String[] args){
String x = "\0";
String y = " ";
System.out.println("This is x - "+x+".");
System.out.println("This is y - "+y+".");
System.out.println(x.equals(y));
}
}

当然,x.equals(y)显然应该是false,因为它们是完全不同的String。然而,结果让我感到惊讶。

This is x -  .
This is y - .
false

如果这两个 String 不相等,那么它们怎么会产生相同的输出呢?

最佳答案

If these two Strings are NOT equal, then how could they produce the same output?

它们只是看起来您的控制台上的相同输出!

如果您将控制台输出重定向到一个文件并使用十六进制转储工具进行检查,您可能会1发现它们不同。

1 - 我们不能确定这一点。对平台默认字符集中的字符进行编码的过程也可能是将 NUL 映射到 SP。但是十六进制转储会澄清这一点。


顺便说一句,null 是人们通常所说的 Java 中的“null 文字”。您拥有的是一个 String 文字……其唯一字符是 Unicode 代码点 0x0000

关于java - 什么是空文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com