- 博客(4)
- 收藏
- 关注
原创 Guava中的Optional来表达null
写过Java的人都知道有一种exception叫做NullPointerException。所以写的好的程序都是对输入输出进行null检查,也就是防御性编程。 但null具体表示什么意思,大家知道吗?有人说null就是空对象,然后呢?空对象表示什么呢?表示操作成功了,但是结果是空对象,还是操作没成功,所以是空对象?这两种意思到底可以是哪种呢? 正因为null可以被解释成这两种意思,所以
2015-11-19 13:49:27 3070
原创 Apache Ant简介
用一句话介绍Ant就是执行一系列定义好的过程,就像Make一样。像很多的自动化脚本一样,但是还额外提供各个target之间的依赖关系管理。由于Ant没有包依赖管理,所以转Maven的挺多的,但不管怎么样,知道Ant的思想和能做什么还是值得的。 Ant是用Java写的,内置了很多现成的task,比如compile,assemble,test和run等。用户还可以自己写自己的antlib来满
2015-11-18 11:29:41 2559
原创 Mockito为什么不能mock静态方法
因为Mockito使用继承的方式实现mock的,用CGLIB生成mock对象代替真实的对象进行执行,为了mock实例的方法,你可以在subclass中覆盖它,而static方法是不能被子类覆盖的,所以Mockito不能mock静态方法。 但PowerMock可以mock静态方法,因为它直接在bytecode上工作,类似这样: import org.powermock.api.mocki
2015-11-11 13:58:46 17654 1
原创 Java ArrayList遍历时删除一个元素
我们知道ArrayList的底层是用数组实现的,如果你删除了其中一个元素,那么后边的元素都会向前移动。所以在遍历时如果删除元素,就要小心了。 第一种方法,用数组下标进行遍历,如果需要删除元素,我们从后向前遍历,这样不论有没有元素删除,我们都不会遗漏未被遍历的元素。 第二种方法,我们使用迭代器。 Iterator itr = list.iterator(); while(
2015-11-11 13:46:15 9675
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人