gpt4 book ai didi

Java:你能像 C 中那样对待 null 像整数 0 吗?

转载 作者:行者123 更新时间:2023-12-01 08:46:36 29 4
gpt4 key购买 nike

我想检查一个对象有多少个字段为空。我可以做这样的事情:

int numNotNull = !!(obj.a) + !!(obj.b) + !!(obj.c) + !!(obj.d);

如果 null 是指向 0 地址的指针(如 C 中那样),则这将起作用。

最佳答案

为了更好地理解 Java 中的 null 是什么,请查看 this answer 。讨论的要点是,除了作为引用 null 值的关键字之外,该值的类型也是无名类型“null”:

There is also a special null type, the type of the expression null, which has no name. Because the null type has no name, it is impossible to declare a variable of the null type or to cast to the null type. The null reference is the only possible value of an expression of null type. The null reference can always be cast to any reference type. In practice, the programmer can ignore the null type and just pretend that null is merely a special literal that can be of any reference type.

因此无法直接在数值计算中使用它 - 这是类型不匹配。

关于Java:你能像 C 中那样对待 null 像整数 0 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615752/

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