为什么 C# 中的 (“” + null = “”) 但在 Java 中 (“” + null = “null”)

本文关键字:null Java 但在 中的 为什么 | 更新日期: 2023-09-27 17:57:05

我不明白的部分是让 null 的字符串表示成为字符串"null"的意义所在。Java中该功能背后的基本原理是什么?

在Java中,有没有比"这就是它的方式"更深刻的答案?

为什么 C# 中的 (“” + null = “”) 但在 Java 中 (“” + null = “null”)

如果要查看值为 null,则希望看到 null。

System.out.println(null);

指纹

null

Integer a = null;
System.out.println("a= " + a);

如您所期望的那样打印

a= null

至于为什么C#不这样做,我不知道。 我想设计师对null的含义做出了不同的假设。 恕我直言,它不应该与空字符串相同。

因为字符串"null"不等于对象null。

当你这样做 " + null 时,空对象被强制转换为字符串,然后我可以比较 stirng "null"