like compareTo,那必須是「自反性,反對稱性和傳遞性」,是否有任何規則來實現比較方法? 感謝實施比較方法的規則
2
A
回答
10
- 實現程序必須確保SGN(比較(X,Y))== -sgn(對比(Y,X))對於所有的x和y。 (這意味着當且僅當compare(y,x)引發異常時,比較(x,y)必須拋出異常。)
- 實現者還必須確保該關係是可傳遞的:((compare(x, y)> 0)& &(比較(y,z)> 0))意味着比較(x,z)> 0。
- 最後,實現者必須確保compare(x,y)== 0意味着所有z的sgn(compare(x,z))== sgn(compare(y,z))。
- 一般情況下,但並不嚴格要求(比較(x,y)== 0)==(x.equals(y))。一般來說,任何違反此條件的比較器都應該清楚地指出這個事實。建議的語言是「注意:這個比較器強加 與等號不一致的排序」。
+0
非常複製/粘貼他的「反身,反對稱和傳遞」評論。 – Shark
+0
@Shark是文檔中的內容。 yepp,它來自API的複製/粘貼。 :) – PermGenError
+0
仍然是upvote,因爲它很清楚應該做什麼... :) – Shark
相關問題
- 1. 實施規則
- 2. 實施schematron規則
- 3. 專賣實施規則
- 4. Yii2 RBAC規則實施
- 5. Snort分析 - 規則比較
- 6. ERD是否規定了實施方法?
- 7. 爲CDN實施正確的CSP規則
- 8. Java中的紅黑樹規則實施
- 9. 的Python:通過規則比較列表
- 10. 使用特定的比較規則
- 11. 編輯比較腳本中的默認規則比較
- 12. 正確實施骨幹比較器
- 13. 實現比較比較的方法進行定義線
- 14. hashset中的重複元素(在正確實施比較器/比較方法之後)
- 15. 實施actionevent方法
- 16. inAppPurchase實施方法。
- 17. 設置ninject比較規則我+「Somevalue」= Somevalue
- 18. FxCop規則不與空值比較
- 19. Yii2日期比較不符合規則()
- 20. 實施業務規則的規範模式
- 21. 實施規則引擎的指導原則
- 22. 規則引擎是實施欺詐規則的正確選擇嗎?
- 23. 什麼比較方法比較好?
- 24. SFINAE方法比較
- 25. String.compareTo方法比較
- 26. 比較對象的方法
- 27. 比較價格的方法
- 28. 實施parseInt函數方法
- 29. 工廠方法實施
- 30. 實施Enumerator.GetNext()擴展方法
你是認真的嗎? compare()方法的唯一規則是在兩個對象相等時返回true,否則返回false。如果沒有具體的比較方法和需要比較的具體對象,那麼如果這兩個對象應該被認爲是「平等的」,那麼你最好判斷該方法需要評估什麼。 – Shark
@gepeppe我認爲你需要詳述 – KidTempo
我認爲OP只是想知道compareTo是否有一個通用的compare()約定。我想,一個新手的合法性問題。 – Fildor