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())

相关文章
相关标签/搜索