Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AtomicInteger中的get()与intValue()方法_Java_Oop_Integer_Atomicinteger - Fatal编程技术网

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
类型保持一致。