2016-08-29 3 views
0

AtomicInteger класс имеет 2 метода, get() и intValue() со следующими определениями.Метод get() vs intValue() в AtomicInteger

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; 
} 

Есть ли преимущество наличия без окончательного метода intValue()? Для всех практических целей мы можем использовать метод get, если я не ошибаюсь. Пожалуйста, объясните, есть ли какие-либо преимущества для такой практики.

+1

Код будет более читабельным, если вы увидите 'intValue()' вместо 'get'. – xenteros

+1

Метод 'intValue()', вероятно, существует для единообразия с классом 'java.lang.Integer', который также имеет метод' intValue() '. – Jesper

+3

Метод 'intValue()' существует, потому что 'AtomicInteger' расширяет' Number', где он является абстрактным. – EJP

ответ

5

Метод intValue() существует потому, что AtomicInteger extends Number, где он является абстрактным.

+0

Тогда зачем использовать get(). Не может ли определение intValue() просто быть «возвращаемым значением»; –

+0

@SreekanthKarumanaghat Конечно. Если вы хотите знать, почему они добавили 'get()', вам придется спросить авторов. – EJP

+0

Должна быть причина для всего, я не могу получить все из уст лошади, я считаю, что это одна из причин, почему этот сайт существует :) –

Смежные вопросы