public class DoubleAdder extends Number implements Serializable
double
总和。
当跨线程争用更新(方法add(double)
)时,该变量集可以动态增长以减少争用。
方法sum()
(或等价于doubleValue()
)返回保持总和的整个变量组合的当前总和。
线程内或跨线程的累积顺序不能保证。
因此,如果需要数值稳定性,特别是当组合几乎不同数量级的值时,该类可能不适用。
当多个线程更新用于诸如经常更新但较不频繁读取的摘要统计信息的常用值时,此类通常优于替代方案。
该类扩展Number
,但不定义诸如方法equals
, hashCode
和compareTo
,因为实例预计将发生突变,所以不如收集钥匙有用。
Constructor and Description |
---|
DoubleAdder()
创建一个新的加法器,初始和为零。
|
Modifier and Type | Method and Description |
---|---|
void |
add(double x)
添加给定值。
|
double |
doubleValue()
相当于
sum() 。
|
float |
floatValue()
|
int |
intValue()
|
long |
longValue()
|
void |
reset()
将保持总和的变量重置为零。
|
double |
sum()
返回当前总和。
|
double |
sumThenReset()
|
String |
toString()
返回
sum() 的String表示
形式 。
|
byteValue, shortValue
public void add(double x)
x
- 要添加的值
public double sum()
public void reset()
public double sumThenReset()
public double doubleValue()
sum()
。
doubleValue
中的
Number
public float floatValue()
floatValue
在
Number
float
.
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.