我注意到Addable
已被棄用,而Subtractable
不是。 Addable
有什麼問題,爲什麼Subtractable
有所不同?Scala的Addable爲什麼不推薦使用?
18
A
回答
18
問題是+
被重載以將String
連接到非字符串。因此,無論何時在沒有它的類型上使用+
方法,您都會收到與實際問題無關的錯誤消息:您擁有的類型不是您期望的類型。
有+:
和:+
來取代它。
20
在Daniel的回答中,+
也是一個非常糟糕的操作符,用於插入集合。在數學上,操作符具有非常傳統的含義,其中的部分含義是關聯性的保證。不幸的是,當您將Int
添加到Vector[Int]
時,關聯性是一種保證,根本沒有任何意義。因此,對於任何有代數訓練的人來說,+
總是一個令人困惑的運算符。
+:
和:+
在幾個方面是優越的,其中最重要的是沒有關聯性的期望。事實上,運營商的非對稱性意味着非-關聯性,這正是它們的語義。另外+:
和:+
鏡像對方非常好,而+:
是右對應的,它們都分別爲集合前置和後綴提供了非常自然的API。
相關問題
- 1. 爲什麼Logger.isInfoEnabled不推薦使用org.jboss.logging.Logger?
- 2. 爲什麼不推薦使用isJavaLetterOrDigit?
- 3. 爲什麼不推薦使用JButton.enable?
- 4. 爲什麼不推薦使用struts2 FilterDispatcher?
- 5. 爲什麼SET不推薦使用?
- 6. 爲什麼不推薦使用StringTokenizer?
- 7. std :: iterator爲什麼不推薦使用?
- 8. Object.observe()爲什麼不推薦使用
- 9. 爲什麼不推薦使用std :: strstream?
- 10. 爲什麼不推薦使用body.scrollTop?
- 11. 爲什麼不推薦HibernateTemplate?
- 12. 爲什麼不推薦使用window.showModalDialog?代替使用什麼?
- 13. 爲什麼不推薦使用assert_template,而應該使用什麼?
- 14. jQuery切換不推薦使用什麼?
- 15. 爲什麼gunicorn_django不再被推薦?
- 16. 爲什麼不通過推薦工作?
- 17. 爲什麼不再推薦mysql擴展?
- 18. 爲什麼不推薦使用hibernate的ClassMetadata.getIdentifier(Object,EntityMode)
- 19. 爲什麼不推薦使用來自JUnit 4的assertEquals(Object [],Object [])?
- 20. Spring安全中的接口WebSecurityExpressionHandler爲什麼不推薦使用?
- 21. 爲什麼不推薦使用此方法? (JasperReports的)
- 22. 爲什麼不推薦使用包org.apache.hadoop.mapred中的大多數類?
- 23. 爲什麼不推薦使用xmp HTML標記?
- 24. 爲什麼在Rails中不推薦使用auto_link?
- 25. 爲什麼不推薦使用hibernate org.hibernate.classic.Validatable接口?
- 26. 爲什麼在Python中不推薦使用MutableString?
- 27. 爲什麼UIAlertView如果不推薦使用iOS 8?
- 28. 爲什麼在PHP中不推薦使用`ereg`?
- 29. 爲什麼在JAVA中不推薦使用默認包?
- 30. 爲什麼在Django 1.5+中不推薦使用markdown?
這個問題及其答案讓我覺得我已經走進了私人的丹尼爾俱樂部。 –