【发布时间】:2014-10-28 05:40:16
【问题描述】:
当某个对象具有装箱类型属性时,该属性的 getter 返回0。但这应该返回null,因为boxed type 属性的默认值是null。这里有什么问题?
class Person {
private Long id;
public Long getId() {
return id;
}
}
...
@Mock Person person;
...
person.getId(); // 0 instead of null
【问题讨论】:
-
此代码无法编译:缺少 getId() 方法的返回类型。而且它相当重要,因为如果它是 Long,那么默认值(对于未初始化的对象)是 null。如果它很长,则未初始化的 long(原语)的值为 0,尽管在这种情况下,我会在尝试取消装箱 null Double 时出现 NullPointerException。但是请更正代码?
-
@Paul 哦,感谢您发现这一点。固定。
标签: java unit-testing mocking mockito