Scala 開發遇到的坑

1.  x.purchaseIntax.getOrElse(BigDecimal(0.00)) 能夠直接寫成 x.purchaseIntax.getOrElse(0)自動轉換的git

2. srcDataList.foldLeft(0.0)((s, v) => s+v.firstCostTax.toDouble)) 優化成 srcDataList.map(_.firstCost).sumgithub

3. 23/BigDecimal(23) 可會形成精度丟失,都轉爲BigDecimal進行乘除運算sql

4. 使用scala-sql(https://github.com/wangzaixiang)時,插入使用insert into table values  代替insert into table set,前者可批量插入,後者不能api

5. Scala List底層使用鏈表實現(至關於Java中LinkedList,不要當成ArrayList),循環時不要用索引取元素,而使用foreach實現app

6. 循環裏面作list.filter在數據量很大時候會很慢,優化方案,使用HashMap代替filter優化

7. 禁止代碼中使用魔法數字,必須定義常量或引用枚舉url

8.多表查詢時,必定添加表別名,防止兩個表中相同字段名衝突報錯spa

9. Scala-sql中,能儘可能使用sql""""""拼接SQL(預編譯,動態綁定參數),儘可能不使用s""""""拼接SQL。scala

10. Scala儘可能使用模式匹配代替if else, 以下推薦第一種寫法:索引

 

11. 列表變量獲取第一個元素,若是列表爲空,第一種會拋出異常 

 

12. Scala Map根據元素獲取值儘可能用getOrElse方法獲取。禁止直接()或apply(),這兩種若是Map中沒有對應的key值,會直接拋異常

 

 

13. Scala 字符串比較能夠用==(但Java中只能用equels())

相關文章
相關標籤/搜索