有一个真正的驱动程序可以消除编程中的空值,并且有很多空值在语言中不好的例子。 null对于编程有什么好处以及它的一些好处。具有空值的情况下有用
0
A
回答
1
在支持null
的所有计算机语言中,它表示“unknown”(或“unassigned” - 类似)。将“未知”与特定值区分开来可能很有用。这尤其适用于类型变量的所有可能值都是其含义的可能值的情况。如果变量的含义范围有限,则超出此范围的值可以保留为“未知”。
int age = -1; // people can't have a negative age, so safe to use -1 as unknown
Integer hashCode = null; // hash can be any integer, so need to use null
允许空值的缺点是在许多语言中,你需要处理的是::
在Java如
在java中再次:
boolean hasSameHash = hashCode != null && hashCode.equals(other.hashCode);
1
具有空就好有一个未使用的变量。确定拥有它真的很棒,但它不是很有用。你可以分配一个值,但不会被闲置。如果你处理它,有一个null并不是一件坏事。所以这不是很糟糕,但它没有用。
什么时候是件好事?那么我想,值没有设置的知识是有用的,因此很好。
有些人使用null来表示另一个值。例如null表示与零或非零数字不同的东西。我个人尽可能避免分配null。对我来说,null的唯一含义是未使用/未分配。它没有任何进一步的宇宙目的,因此不可能是好的/坏的。只有用/无用。或者,如果未处理,它可能会导致错误,当然如果没有预料到的话,错误是不好的。
在我看来,真正的问题在于我们为什么没有空值。但这有点像问你为什么有空篮子。你必须填写它才有用。但是在你制作(或拿到)篮子之前,你无法填充它。所以我想我们会有空位......直到我们分配一个值。得处理它。
您可以通过分配默认值来避免空值。对于字符串或数字来说这非常棒,但有时候您可能想知道该值是否已被主动设置。
相关问题
- 1. FindBugs的非空没有找到所有的情况下
- 2. 如何使用具有GROUP BY的SELECT和具有在特定SQL情况下
- 3. 在没有使用触发器的情况下在MySQL中使空字符串具有0值
- 4. 为什么group_concat在没有行的情况下带有空值的一行
- 5. 只有在所有值为空的情况下才触发删除列
- 6. 针对不同的情况下(并非所有情况下)
- 7. 在所有情况下
- 8. 所有情况下切换
- 9. 处理空的情况下
- 10. 空的情况下,当
- 11. 只有在Rails 5中有值的情况下才使用方法中的值
- 12. 有关BCNF分解的具体情况
- 13. 什么情况下**会有用?
- 14. 使用情况下没有设置
- 15. 有什么用在这种情况下
- 16. 在哪种情况下Node.js有用
- 17. 默认情况下,在sql datetime列中插入空值/空值
- 18. Nginx的位置 - 的情况下有空间
- 19. 填充具有下一个非空值的列空值
- 20. runSD具有空值
- 21. 如何在没有删除输入的情况下清空td的值?
- 22. EditText在没有数据的情况下为空时的值是多少?
- 23. 如何在没有空格的情况下打印变量的值
- 24. gnus-posting styles在更具体的情况下没有头文件
- 25. monadic值的情况下
- 26. 有HTML的情况下的内容
- 27. 在没有JS的情况下填充剩余空间
- 28. e.preventDefault在没有Ajax数据的情况下加载空页面
- 29. 只有在空的情况下才删除DIV
- 30. 如何在没有Foundation的情况下记录空行?
你只想要正面?这对我来说似乎是一种无效的运动。 –
这是不知何故与“0号”有用的情况有关? – gian1200
“好用”是一个矛盾。 null的含义未使用/未分配。因此,搞清楚它的好坏是不成熟的。它只是未使用。处理它! –