首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AtomicInteger的get()与intValue()

AtomicInteger的get()与intValue()
EN

Stack Overflow用户
提问于 2013-08-21 18:40:15
回答 3查看 2.3K关注 0票数 10

为什么AtomicInteger同时具有int ()和int intValue()?我看到它还有floatValue()等,来自Number。是否与维持AtomicInteger参数的原子性有关,还是两者都是可互换的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-21 18:41:55

它们应该是可互换的。以下是AtomicInteger源代码的相关部分

代码语言:javascript
复制
public int intValue() {
    return get();
}
票数 9
EN

Stack Overflow用户

发布于 2016-08-29 09:34:23

intValue定义:

代码语言:javascript
复制
/**
 * Returns the value of this {@code AtomicInteger} as an {@code int}.
 */
public int intValue() {
    return get();
}

get定义:

代码语言:javascript
复制
/**
 * Gets the current value.
 *
 * @return the current value
 */
public final int get() {
    return value;
}

您可以清楚地看到,get方法是final。不能重写final方法。

如果扩展AtomicInteger类,则不能重写get方法,但可以重写intValue方法。

票数 6
EN

Stack Overflow用户

发布于 2013-08-21 18:48:35

来自类文档

抽象类数是类BigDecimal、BigInteger、Byte、Double、Float、Integer、Long和Short的超类。

来自AtomicInteger文档

从课堂上复制的描述:

Number将指定数字的值作为int返回。这可能涉及舍入或截断。

由于AtomicInteger扩展了抽象类Number,因此必须实现抽象方法intValue()。在这种情况下他们是平等的。对于其他类型(例如BigDecimalDoubleFloat),这更有意义。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18365206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档