Java
binaryshao
这个作者很懒,什么都没留下…
展开
-
List的add方法隐藏的坑
在一个List中add()了一个对象后,之后再没有改变这个List,某个时间点取出List中的数据, 却发现取出的数据已经发生了变化。这个bug排查了好久,才发现是因为当初add的对象在别的类中被改变了!这就是List的add方法隐藏的坑,且当原对象不在一个类中时,bug原因不容易被发现。原来当我们调用add()或addAll()方法时,添加的是引用,当原对象改变时,list中的数据会相应改变。来看原创 2017-10-19 23:28:54 · 3356 阅读 · 0 评论 -
字段定义引起的bug
1. 全局变量定义时不能用到activity,因为onCreate()方法还未执行,activity还未创建,如果用到了就会报空。 如果某个变量定义时一定要用到activity,就在创建activity后定义局部变量。2. 全局变量List list 如果在定义时用了赋值号“=”new了出来,如:List list = new ArrayList; 在代码中给li原创 2016-03-17 21:29:06 · 600 阅读 · 0 评论 -
Java集合框架(JCF)归纳总结
HashSet底层用`HashMap`实现允许`null`值不重复原理:HashMap.keySet(),`HashSet`的值用作`HashMap`的键TreeSetTreeMap排序,插入时比较次序,红黑树为了实现排序,须满足以下1条:TreeSet中的元素须实现Comparable接口或者构造TreeSet时须传入实现Comparable接口的类的对象...原创 2018-06-21 07:08:44 · 5772 阅读 · 0 评论 -
RoundingMode——Java中小数的舍位
RoundingMode 在 Java 中是一个枚举类,用来指定小数的舍位方式,共有8种对于这些舍位方式,之前用过却理解地很模糊最近一研究,又顿悟了!那一瞬间,我知道该把这些理解封印在这篇博客里了先来看一下常用的两种舍位写法,直接上代码两种舍位写法DecimalFormatDecimalFormat myformat = new DecimalFormat();myformat.s...原创 2018-09-21 16:36:02 · 3593 阅读 · 0 评论