Doublevalue java что это

Java.lang.Number.doubleValue() Method

Complete Java Programming Fundamentals With Sample Projects

The java.lang.Number.doubleValue() method returns the value of the specified number as a double. This may involve rounding or truncation.


Following is the declaration for java.lang.Number.doubleValue() method


Return Value

This method returns the numeric value represented by this object after conversion to type double.



The following example shows the usage of lang.Number.doubleValue() method.

Let us compile and run the above program, this will produce the following result −

Class Double

In addition, this class provides several methods for converting a double to a String and a String to a double , as well as other constants and methods useful when dealing with a double .

This is a value-based class; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail.

Floating-point Equality, Equivalence, and Comparison

An equivalence relation on a set of values is a boolean relation on pairs of values that is reflexive, symmetric, and transitive. For more discussion of equivalence relations and object equality, see the Object.equals specification. An equivalence relation partitions the values it operates over into sets called equivalence classes. All the members of the equivalence class are equal to each other under the relation. An equivalence class may contain only a single member. At least for some purposes, all the members of an equivalence class are substitutable for each other. In particular, in a numeric expression equivalent values can be substituted for one another without changing the result of the expression, meaning changing the equivalence class of the result of the expression.

  • If v1 and v2 are both NaN, then v1 == v2 has the value false . Therefore, for two NaN arguments the reflexive property of an equivalence relation is not satisfied by the == operator.
  • If v1 represents +0.0 while v2 represents -0.0 , or vice versa, then v1 == v2 has the value true even though +0.0 and -0.0 are distinguishable under various floating-point operations. For example, 1.0/+0.0 evaluates to positive infinity while 1.0/-0.0 evaluates to negative infinity and positive infinity and negative infinity are neither equal to each other nor equivalent to each other. Thus, while a signed zero input most commonly determines the sign of a zero result, because of dividing by zero, +0.0 and -0.0 may not be substituted for each other in general. The sign of a zero input also has a non-substitutable effect on the result of some math library methods.

For ordered comparisons using the built-in comparison operators ( < , <= , etc.), NaN values have another anomalous situation: a NaN is neither less than, nor greater than, nor equal to any value, including itself. This means the trichotomy of comparison does not hold.

To provide the appropriate semantics for equals and compareTo methods, those methods cannot simply be wrappers around == or ordered comparison operations. Instead, equals defines NaN arguments to be equal to each other and defines +0.0 to not be equal to -0.0 , restoring reflexivity. For comparisons, compareTo defines a total order where -0.0 is less than +0.0 and where a NaN is equal to itself and considered greater than positive infinity.

The operational semantics of equals and compareTo are expressed in terms of bit-wise converting the floating-point values to integral values.

The natural ordering implemented by compareTo is consistent with equals. That is, two objects are reported as equal by equals if and only if compareTo on those objects returns zero.

The adjusted behaviors defined for equals and compareTo allow instances of wrapper classes to work properly with conventional data structures. For example, defining NaN values to be equals to one another allows NaN to be used as an element of a HashSet or as the key of a HashMap . Similarly, defining compareTo as a total ordering, including +0.0 , -0.0 , and NaN, allows instances of wrapper classes to be used as elements of a SortedSet or as keys of a SortedMap .

Double vs doubleValue in Java

if a method returns a Double, why would we call the method «doubleValue» on it? it already returns a double and in calculations, appears to evaluate correctly.

4 Answers 4

Prior to Java 1.5 auto-boxing (and unboxing) didn’t exist in Java. So, you would need this to extract the underlying primitive from a Double.

You call ‘doubleValue’ on a Double object to convert from the boxed Object to the primitive data type. Since most of the time the Double is auto-unboxed to a double, you usually don’t need to do this, but if you want to be explicit in your conversion, you can call this method.

doubleValue returns a primitive double from the Double Object. Depending on the scenario, you would want to get the double out of a Double.

You’d call doubleValue if you need to obtain a double from a Double . The former is a primitive type, while the latter is a wrapper object type, which basically encapsulates a primitive value inside an immutable object. If possible (and I’m saying this without knowing exactly the purpose of your code), use double for all your calculations; only use Double if you need to store the values in a Collection or Map ; that’s because object types consume more memory and may be subject to casting operations.

It’s easy to mistake double with Double (same thing applies for the other primitive types vs. wrapper types), since the compiler will automatically convert from one to the other as needed in a process known as auto-boxing (and auto-unboxing), so a little care must be taken to use the correct type.

Руководство по классу Java Integer с примерами

Класс Integer является контейнером для типа данных int . Этот класс включает в себя методы преобразования значений из строки в объект Integer . Данное руководство содержит полную информацию о том, как использовать класс Integer в Java , его атрибуты и методы .

Синтаксис класса Integer

Совместимость с версиями JDK

Необходима JDK версии 1.0

Основы класса Integer

Поскольку класс Integer имеет широкую функциональность, мы решили разделить данное руководство на разделы.

Как создать экземпляр класса Integer

Есть два способа создать экземпляр класса Integer . Первый способ – использовать ключевое слово new :

Второй способ создать — использовать функцию автоупаковки ( autoboxing ) языка Java , которая конвертирует примитивный тип данных в соответствующий класс-обёртку:

Тест на равенство объектов Integer

Объекты Integer являются обёрткой для примитивного типа int . Поскольку они являются объектами, то оператор == не будет работать. Рассмотрим приведенный ниже отрывок кода:

Поскольку мы имеем дело с объектами Integer , оператор == больше не применим. Как же провести сравнение двух Java объектов Integer ? Рассмотрим приведенный ниже отрывок кода, демонстрирующий это:

Java-программа для проверки объектов Integer на равенство

Максимальное и минимальное значения Integer

Чтобы найти максимальное и минимальное значения Integer , мы обратимся к двум его полям. Максимальное значение объекта Integer ( 2147483647 ) может быть найдено с помощью вызова Integer.MAX_VALUE , а минимальное значение Integer (- 2147483648 ) – через обращение к Integer.MIN_VALUE .

Рассмотрим метод parseInt(String s) , который принимает строку в качестве аргумента и конвертирует её в объект Integer . Если мы передадим строковое значение, которое имеет целочисленный эквивалент, превышающее максимальное значение в Integer.MAX_VALUE ? Грубым примером такого сценария может служить приведенный ниже код:

Мы передали в метод parseInt аргумент, который на 1 больше максимального значения. Поэтому если мы попытаемся выполнить этот отрывок кода, компилятор выдаст исключение NumberFormatException :

Как использовать статичные методы класса Integer

Большинство методов класса Integer статичные, поэтому имеет смысл разобраться, как получить доступ к ним. Не статичные методы используются так:

Статические методы не должны использоваться таким образом, а должны вызываться так как показано ниже:

Нестатические методы вызываются через переменная.метод. Статичные вызываются через Integer.метод(аргументы. ).

Поля объекта Integer

Модификатор Тип Атрибут Описание
static Int MAX_VALUE Константа, являющаяся максимальным значением данных типа int, равная 2^31-1.
static Int MIN_VALUE Константа, являющаяся минимальным значением данных типа int, равная -2^31.
static Int SIZE Число битов, использованное для представления значения типа int в двоичной форме.
static Class<Integer> TYPE Экземпляр класса, представляющий примитивный тип int.

Конструктор класса Integer

Синтаксис Описание
Integer(int value) Создает новый объект Integer, который представляет указанное целочисленное значение.
Integer(String s) Это создает новый объект Integer, который представляет целочисленное значение, указанное строковым параметром конструктора.

Примеры использования методов класса Integer

Модификатор Возвращаемый тип Метод Описание
static Int bitCount(int i) Этот метод возвращает целочисленное значение, которое соответствует количеству единиц в двоичном представлении числа-аргумента метода.
byte byteValue() Возвращает значение объекта Integer в виде типа byte. Этот метод переопределяет метод byteValue() класса Number.
static Int compare(int x, int y) Метод просто возвращает целочисленное представление результата сравнения двух целочисленных аргументов.
Int compareTo(Integer anotherInteger) Возвращает целочисленное значение результата сравнения аргумента метода и объекта Integer.
static Integer decode(String nm) Возвращает декодированное значение строкового аргумента в объект Integer.
Double doubleValue() Возвращает эквивалент объекта Integer типа double ( java double to integer ). Метод doubleValue() унаследован из класса Number.
boolean equals(Object obj) Возвращает результат сравнения объекта Integer и объекта-аргумента типа Object. Этот метод переопределяет метод equals класса Object.
Float floatValue() Возвращает эквивалент объекта Integer в типе float. Метод floatValue унаследован из класса Number.
static Integer getInteger(String nm) Возвращает значение свойства, указанного в качестве аргумента, в объекте Integer.
static Integer getInteger(String nm, int val) Определяет целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer со значением, указанным во втором параметре.
static Integer getInteger(String nm, Integer val) Возвращает целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer, указанный во втором параметре.
Int hashCode() Возвращает хэш-код объекта Integer.
static Int highestOneBit(int i) Определяет позицию старшего бита. Возвращает значение, в котором установлен только этот бит. Если ни один из битов не установлен, возвращает 0.
Int intValue() Возвращает целочисленный эквивалент объекта Integer. Метод унаследован из класса Number.
Long longValue() Возвращает значение объекта Integer как тип long.
static Int lowestOneBit(int i) Возвращает целое число, получающееся, если оставить только младшую (крайнюю правую) единицу в двоичном представлении числа-аргумента.
static Int numberOfLeadingZeros(int i) Возвращает количества нулей слева в двоичном представлении числа-аргумента.
static Int numberOfTrailingZeros(int i) Возвращает количества нулей справа в двоичном представлении числа-аргумента.
static Int parseInt(String s) Преобразует строку-аргумент в десятичное число со знаком.
static Int parseInt(String s, int radix) Преобразует строку-аргумент в целом число со знаком в системе исчисления, указанной во втором аргументе.
static Int reverse(int i) Возвращает число, получаемое в результате перестановки битов числа-аргумента в обратном порядке.
static Int reverseBytes(int i) Возвращает число, получаемое в результате перестановки байтов числа-аргумента в обратном порядке.
static Int rotateLeft(int i, int distance) Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций влево. (Биты, вышедшие за пределы слева, возвращаются в правую часть).
static Int rotateRight(int i, int distance) Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций вправо. (Биты, вышедшие за пределы справа, возвращаются в левую часть).
Short shortValue() Возвращает эквивалент объекта Integer в типе short. Этот метод переопределяет метод shortValue класса Number.
static int signum(int i) Возвращает результат функции signum от указанного целого числа.
static String toBinaryString(int i) Возвращает строковый эквивалент двоичного представления числа-аргумента.
static String toHexString(int i) Возвращает строковое представление целочисленного аргумента в виде шестнадцатеричного числа без знака.
static String toOctalString(int i) Возвращает строковое представление целочисленного аргумента в виде восьмеричного числа без знака.
String toString() Возвращает объект String, представляющий значение объекта Integer.
static String toString(int i) Возвращает объект String, представляющий значение целочисленного аргумента.
static String toString(int i, int radix) Возвращает строковый эквивалент целого десятичного числа-аргумента в указанной системе исчисления.
static Integer valueOf(int i) Возвращает экземпляр объекта Integer, представляющий указанное целое число.
static Integer valueOf(String s) Возвращает экземпляр объекта Integer, содержащий значение, указанное в строке-аргументе.
static Integer valueOf(String s, int radix) Возвращает экземпляр объекта Integer, содержащий значение, передаваемое в строке-аргументе в системе исчисления, указанной во втором параметре.

Пожалуйста, оставляйте свои комментарии по текущей теме статьи. Мы очень благодарим вас за ваши комментарии, дизлайки, подписки, отклики, лайки!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *