【发布时间】:2016-08-29 09:43:17
【问题描述】:
AtomicInteger 类有 2 个方法,get() 和 intValue(),定义如下。
intValue() 定义:
/**
* Returns the value of this {@code AtomicInteger} as an {@code int}.
*/
public int intValue() {
return get();
}
get() 定义:
/**
* Gets the current value.
*
* @return the current value
*/
public final int get() {
return value;
}
使用非 final 方法 intValue() 有什么好处吗?出于所有实际目的,如果我没有错,我们可以使用 get 方法。请说明这种做法是否有任何好处。
【问题讨论】:
-
当您看到
intValue()而不是get时,代码将更具可读性。 -
intValue()方法的存在可能是为了与java.lang.Integer类保持一致,该类也有一个intValue()方法。 -
方法
intValue()之所以存在是因为AtomicInteger扩展了Number,它是抽象的。 -
@EJP 该死,这是我相信的答案;我正要写它,但你先想到了它。把它作为一个答案:p
-
@xenteros。在这里我要注意的另一点是方法名称通常以“verb”开头,但“intValue”违反了该约定。只是因为您在这里提到了可读性。
标签: java oop integer atomicinteger