請說明一下,我們可以有自己的方法來比較兩個對象,而不是實現接口。接口的意義是什麼?爲什麼我們需要無與倫比的界面?
1
A
回答
2
因爲當其他api /代碼(除了你的)想要比較你的自定義對象/類型時,IComparable將爲它們提供比較的實現,而不管你的對象是什麼。他們會簡單地檢查你的對象是否實現了IComparable,如果它確實如此,它將調用比較並對它們進行排序。有些情況下,如果您將自定義對象列表綁定到網格,那麼當您單擊顏色標題對對象進行排序時,網格將通過比較來進行排序。
0
接口意義:
是的,你可以有自己的方法來comppare兩個對象,而不是實現一個接口。但是,界面允許更大的靈活性。例如,假設你有一個你的對象的列表。如果你調用list.sort(),它會使用提供的比較接口 - 如果你不提供這個,你會得到意想不到的結果。
相關問題
- 1. 爲什麼我需要界面?
- 2. 爲什麼我需要查詢界面?
- 3. 爲什麼我會得到'(」無與倫比
- 4. 爲什麼我們需要.htaccess的worpdress?
- 5. DavLockDB:我們需要什麼?
- 6. 爲什麼我們仍然需要我們自己定義的功能比較
- 7. 爲什麼我們需要simple_one_for_one?
- 8. 爲什麼我們需要TensorFlow tf.Graph?
- 9. 爲什麼我們需要使用prompt.start()?
- 10. 爲什麼我們需要scalaz.stream迭代?
- 11. 爲什麼我們需要WCF
- 12. 爲什麼我們需要Anaconda 2.7?
- 13. 爲什麼我們需要編寫log.isDebugEnabled?
- 14. 爲什麼我們需要ng-click?
- 15. 爲什麼我們需要Control.Lens.Reified?
- 16. 我們爲什麼需要纖維
- 17. 爲什麼我們需要org.junit.ComparisonFailure?
- 18. 爲什麼我們需要addRequestHeader方法?
- 19. 爲什麼我們需要時代?
- 20. 爲什麼我們需要ContinueWith方法?
- 21. 爲什麼我們需要Java NIO Selector?
- 22. 爲什麼我們需要使用ExitWindowsEx
- 23. 爲什麼我們需要包裝類
- 24. 爲什麼我們需要在JavaScript
- 25. 爲什麼我們需要設置SONAR_RUNNER_OPTS?
- 26. 爲什麼我們需要ioc容器
- 27. mongodb爲什麼我們需要getSisterDB
- 28. 爲什麼我們需要BeginGetResponse和BeginRead?
- 29. 爲什麼我們需要fieldset標籤?
- 30. 爲什麼我們需要boost :: thread_specific_ptr?