0
A
回答
3
的變化非常頻繁,答案是:這取決於。
假設您更改其中一個類的hashCode()實現。
1)if(你的應用程序沒有保存它的數據) 然後,當你重新啓動你的應用程序時,每一塊都將使用新的實現。因此:沒問題
2)if(你的應用程序確實存在它的數據) 然後,當你重新啓動你的應用程序時將重新加載它的數據;並取決於你改變hashCode()的方式/地方......有趣的事情可能會發生。
對於第二個問題;有沒有通用的方法來「解決」,但有一個衆所周知的做法,如果你遵循他們,機會變得更小,有人搞砸了:
1)教育和技能:試圖確保每個人都接觸代碼知道自己在做什麼(而不是盲目地遵從命令「但你告訴我做xyz,所以我坐下來,確實xyz,根本不考慮後果是什麼」)
2)好的設計, - 使用現有組件。喜歡:標準的java自帶「已知」好套,地圖,集合。你爲什麼認爲你必須重新發明輪子,爲什麼你認爲你的實施將會「更好」?
3)好的測試。做TDD,並確保每個新功能都具有涵蓋其所有行爲的單元測試。然後確保當有人將代碼推入您的版本控制系統時,您的單元測試會自動運行;所以你注意到什麼時候東西壞了。除此之外,爲單元測試無法測試的方面構建合理的功能/集成測試。
相關問題
- 1. 哈希碼實現
- 2. 如何實現動態哈希表的哈希函數?
- 3. 哈希表實現
- 4. 哈希映射和哈希碼的變化,如何判斷對象已經改變?
- 5. 如何找到哈希碼有效性?
- 6. 解決方法哈希一個HashSet當內部對象改變
- 7. 實現哈希表的
- 8. Jenkins哈希的Javascript實現?
- 9. Jenkins哈希的Python實現?
- 10. hashset在哪裏存儲一個哈希碼與已經在集合中的哈希碼相匹配的對象?
- 11. 如何使用BST實現哈希表?
- 12. 哈希表如何在JavaScript中實現
- 13. JavaScript哈希映射如何實現?
- 14. 如何實現Hash#all?多維哈希?
- 15. 如何用鏈接實現哈希表?
- 16. 如何獲得JavaScript實現的接口的哈希碼
- 17. 實現哈希映射
- 18. 持久哈希表實現
- 19. Java哈希表實現
- 20. 自己實現哈希
- 21. 實現在哈希表
- 22. Java哈希表實現
- 23. 變化哈希jQuery中
- 24. 防止哈希變化
- 25. 如何呈現與哈希錨實例變量頁面
- 26. 如何正確使用codeigniter實現PHPass密碼哈希?
- 27. 重現SqlMembershipProvider密碼哈希
- 28. HashSet的實現
- 29. 如何實現對最小堆O(1)刪除與哈希表
- 30. 任何Java哈希樹實現?
你是什麼意思「改變運行時間」? – GhostCat
如果更改了哈希碼實現,那麼您編譯並重新部署了新代碼,因此當您重新啓動代碼時必須重新生成哈希集,那麼問題是什麼? – Andreas