Класс Number
Класс Number - это абстрактный класс из пакета java.lang, который является суперклассом для классов-оберток Byte, Short, Integer, Long, Float и Double. Он определяет набор абстрактных методов для преобразования значения обертки в любой из примитивных числовых типов: intValue, longValue, floatValue, doubleValue, byteValue и shortValue. Благодаря этому полиморфизму можно работать с разными числовыми типами через ссылку на Number, не зная конкретного класса обертки. Класс также предоставляет конкретные методы byteValue и shortValue, которые по умолчанию приводят результат intValue к соответствующему типу.
Синтаксис
public abstract class Number implements java.io.Serializable
Основные методы класса:
byte byteValue()
short shortValue()
abstract int intValue()
abstract long longValue()
abstract float floatValue()
abstract double doubleValue()
Пример
Создадим переменную типа Number и присвоим ей целое число, а затем извлечем его значение в разных типах:
public class Main
{
public static void main(String[] args)
{
Number num = 12345;
System.out.println(num.intValue());
System.out.println(num.longValue());
System.out.println(num.doubleValue());
System.out.println(num.floatValue());
}
}
Результат выполнения кода:
12345
12345
12345.0
12345.0
Пример
Класс Number удобно использовать в коллекциях для хранения чисел разных типов. Создадим список и выведем квадрат каждого числа:
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Number> res = List.of(1, 2, 3, 4, 5);
for (Number num : res)
{
int square = num.intValue() * num.intValue();
System.out.println(square);
}
}
}
Результат выполнения кода:
1
4
9
16
25
Пример
Преобразуем число с плавающей точкой к целому типу через переменную Number:
public class Main
{
public static void main(String[] args)
{
Number num = 3.99;
System.out.println(num.intValue());
System.out.println(num.longValue());
System.out.println(num.doubleValue());
}
}
Результат выполнения кода:
3
3
3.99
Смотрите также
-
метод
intValue,
который возвращает значение в виде int -
метод
doubleValue,
который возвращает значение в виде double -
метод
longValue,
который возвращает значение в виде long -
метод
floatValue,
который возвращает значение в виде float