除了爲控制檯打印東西之外,還有什麼其他用途可以爲您的對象找到toString()方法嗎?爲什麼要爲我的對象實現toString方法?
3
A
回答
5
它使一個方便的調試輔助,當你只是想有一個快速瀏覽一下對象的內容。
1
很多框架使用它爲在Swing樹的元素提供你的對象,例如,標籤的默認表示。
而且,只是有一些在控制檯上可讀是不夠的,因爲日誌記錄時,你可以依靠toString()
容易得多。
4
我用它只用於調試的目的。對於功能要求,我總是實施一個名字很好的方法,如String toExportFormat()
。
你會明白我爲什麼這樣做你第一次嘗試找出其中你的輸出方法獲取調用。如果在代碼的某處使用toString()
,則幾乎無法找到所有位置,因爲每個對象都實現此方法。如果你使用專門的方法,很容易找到它被調用的地方。你可以在你的toString()
方法中引用這個方法 - 這不是更多的工作。
相關問題
- 1. 爲什麼我們需要在stringbuilder中使用toString方法
- 2. 爲什麼我們要實現接口?
- 3. 爲什麼我的toString()打印toString類而不是我的重寫方法?
- 4. 爲什麼我需要一個需要實例的方法?
- 5. 爲什麼傳輸對象需要實現Serializable?
- 6. 爲什麼不按需要調用TypeScript toString方法
- 7. 爲什麼我的LinkedHashSet在toString()方法中是空的?
- 8. 爲什麼現在要從我的課程創建對象
- 9. 爲什麼我的toString()方法不能編譯?
- 10. 爲什麼我的ToString方法總是返回一個NullReferenceException?
- 11. 爲什麼我們不需要爲靜態方法創建對象?
- 12. 爲我的對象實現保存方法
- 13. 爲什麼我們需要Buffer.isBuffer方法?
- 14. 爲什麼我們需要addRequestHeader方法?
- 15. 爲什麼要使用GetOrdinal()SqlDataReader對象的方法
- 16. 爲什麼要檢查對象方法中的Assigned(self)?
- 17. 爲什麼我需要顯式實例化一個對象?
- 18. 爲什麼我需要我需要在子類中實現IDisposable()
- 19. 爲什麼不需要實施這些抽象方法?
- 20. 爲什麼我的Static方法隱藏我的實例方法?
- 21. 爲什麼Go允許我調用未實現的方法?
- 22. 爲什麼我對象被
- 23. 爲什麼我的同步方法鎖定不同的對象?
- 24. 爲什麼listbox1.Items.Add使用我的對象的Equals方法?
- 25. 爲什麼eclipse需要一個名爲'main'的實際方法?
- 26. 爲什麼不能像{} .toString()這樣的對象直接調用toString()方法導致錯誤?
- 27. 爲什麼Dispose()方法在我的IDisposable對象上不可用?
- 28. 爲什麼我的JavaScript調用對象方法不工作?
- 29. 爲什麼我的JavaScript對象看不到以下方法?
- 30. 爲什麼數組中的對象沒有對象方法?
相關http://stackoverflow.com/questions/2653268/auto-generating-tostring-method – leonbloy 2010-05-06 18:43:40