2
冗餘呼叫考慮這個Scala代碼優化的不可變對象
val word = str.toLowerCase
val chars = word.distinct.sorted
再後來
//chars.map(c => str.toLowerCase.count(_ == c))
chars.map(c => word.count(_ == c))
我創建了val word
避免創建地圖新小寫的字符串。但是,從理論上講,Scala編譯器能夠優化它嗎?它知道字符串是不可變的。
如果這是在一種方法內,'str'如何改變? –
我從來沒有說過'str'可以改變。 –