Java AtomicInteger中的get()与intValue()方法
Java AtomicInteger中的get()与intValue()方法,java,oop,integer,atomicinteger,Java,Oop,Integer,Atomicinteger,AtomicInteger类有两个方法,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
AtomicInteger
类有两个方法,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()
之所以存在,是因为AtomicInteger
扩展了Number
,它是抽象的。方法intValue()
之所以存在,是因为AtomicInteger
扩展了Number
,当您看到intValue()
而不是get
时,代码将更具可读性。方法intValue()
可能是为了与类java.lang.Integer
一致而存在的,该类也有intValue()
方法之所以存在,是因为原子整数
扩展了数字
,它是抽象的。@EJP-darn,我相信这就是答案;我正要写,但你先想到了。回答这个问题:p@xenteros. 我想在这里指出的另一点是,方法名通常以“verb”开头,但“intValue”违反了该约定。就因为您在这里提到了可读性。当您看到intValue()
而不是get
时,代码的可读性会更高。方法intValue()
可能是为了与类java.lang.Integer
一致而存在的,该类也有一个intValue()
方法。方法intValue()
之所以存在,是因为原子整数
扩展了数字
,它是抽象的。@EJP-darn,我相信这就是答案;我正要写,但你先想到了。回答这个问题:p@xenteros. 我想在这里指出的另一点是,方法名通常以“verb”开头,但“intValue”违反了该约定。就因为你在这里提到了可读性。那么get()有什么用呢。intValue()的定义不能仅仅是“返回值;”@SreekanthKarumanaghat当然可以。如果你想知道他们为什么添加了get()
,你必须问问作者。每件事都有一个原因,我不能从马口铁那里得到每件事,我相信这就是这个网站存在的原因之一:)无论原因是什么,如果有的话,它都隐藏在作者的脑海中,除非是(a)在文件中说明(b)由正式规范暗示,或(c)由作者在此处发布解释。第二条评论的答案是“否”。所有原子类型都有一个get
方法,包括那些没有逻辑模拟intValue()
的原子类型。它只是为了与其他原子以及Number
类型保持一致。那么get()有什么用呢。intValue()的定义不能仅仅是“返回值;”@SreekanthKarumanaghat当然可以。如果你想知道他们为什么添加了get()
,你必须问问作者。每件事都有一个原因,我不能从马口铁那里得到每件事,我相信这就是这个网站存在的原因之一:)无论原因是什么,如果有的话,它都隐藏在作者的脑海中,除非是(a)在文件中说明(b)由正式规范暗示,或(c)由作者在此处发布解释。第二条评论的答案是“否”。所有原子类型都有一个get
方法,包括那些没有逻辑模拟intValue()
的原子类型。这只是为了与其他原子学以及Number
类型保持一致。