有一個真正的驅動程序可以消除編程中的空值,並且有很多空值在語言中不好的例子。 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的含義未使用/未分配。因此,搞清楚它的好壞是不成熟的。它只是未使用。處理它! –