gpt4 book ai didi

java - 为什么基元不能为空

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

我想知道为什么基元不能为空。

今天我读了this

The null keyword is a literal that represents a null reference, one that does not refer to any object. null is the default value of reference-type variables. Ordinary value types cannot be null. However, C# 2.0 introduced nullable value types. See Nullable Types (C# Programming Guide).

所以我知道有像 C# 中的 int? 或 Java 中的 Integer 这样的可空原语,但为什么 int 或 bool 等不能直接为空?

这个问题不针对任何编程语言,但是编程语言是否存在差异,为什么它们不允许原语为空?

最佳答案

null指向 任何内容,因此它是一个(不存在的)引用。在 Java 中,Object 是一种引用类型,因此对象类型的值可以包含空值(例如 Integer)。另一方面,基元是值类型而不是引用类型,因此它们不能为 null

出于性能方面的考虑,Java 就是这样设计的。与使用值相比,使用引用更慢且更耗内存。

关于java - 为什么基元不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33121616/

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