Обычно, когда работаем с числами в Java, мы используем примитивные типы данных, таких как byte, int, long, double, и т.д.

Пример

int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;

Тем не менее, в разработке, мы встречаем ситуаций, где нам нужно использовать объекты вместо примитивных типов данных. Для того чтобы достичь этого Java предоставляет классы-оболочки.

Все классы-оболочки (Integer, Long, Byte, Double, Float, Short) являются подклассами абстрактного класса чисел в Java (class Number).

Структура класса чисел в Java, числа в Java

Объект класса-оболочки содержит или обертывает свой соответствующих примитивный тип данных. Конвертирование примитивных типов данных в объект называется упаковка, и об этом заботится компилятором. Поэтому при использовании класса-оболочки необходимо просто передать конструктору класса-оболочки значение примитивного типа данных.

Объект оболочки может быть преобразован обратно в примитивный тип данных, и этот процесс называется распаковка. Класс чисел является частью пакета java.lang.

Вот пример упаковки и распаковки:

public class Test{

   public static void main(String args[]){
      Integer x = 5; // упаковка int в целочисленный объект (Integer)
      x =  x + 10;   // распаковка Integer в int
      System.out.println(x); 
   }
}

Будет получен следующий результат:

15

Когда х присваивается целое значение, компилятор упаковывает целое число, потому что х это целочисленный объект. Позже распаковывает х так, чтобы он мог быть добавлен в виде целого числа.

Методы класса чисел

Список методов всех подклассов класса чисел в Java:

Метод с описанием
1xxxValue()
Преобразует значение целочисленного объекта в ххх тип данных и возвращает его.
2compareTo()
Сравнивает целочисленный объект с аргументом.
3equals()
Определяет, является ли целочисленный объект равным аргументу.
4valueOf()
Возвращает целочисленный объект, держа указанное значение.
5toString()
Возвращает строковый объект (String), представляющий указанное значение int или целочисленный объект.
6parseInt()
Метод используется для получения примитивного типа данных определенной строки.
7abs()
Возвращает абсолютное значение аргумента.
8ceil()
Возвращает наименьшее (ближайшее к отрицательной бесконечности) double значение, которое больше или равно аргументу и равное математическому целому числу.
9floor()
Возвращает наибольшее (ближайшее к положительной бесконечности) double значение, которое меньше или равно аргумента и равно математическому целому числу.
10rint()
Возвращает double значение, которое ближе всего по значению аргумента и равно математическому целому числу.
11round()
Возвращает ближайшее long или int к аргументу по правилам округления.
12min()
Возвращает меньшее из двух аргументов.
13max()
Возвращает большее из двух аргументов.
14exp()
Возвращает число е Эйлера, возведенную в степень double значения.
15log()
Возвращает натуральный логарифм (по основанию е) с double значением.
16pow()
Возвращает значение первого аргумента, возведенное в степень второго аргумента.
17sqrt()
Возвращает правильно округленный положительный квадратный корень из double значения.
18sin()
Возвращает синус указанного double значения.
19cos()
Возвращает косинус указанного double значения.
20tan()
Возвращает тангенс указанного double значения.
21asin()
Возвращает арксинус указанного double значения.
22acos()
Возвращает арккосинус указанного double значения.
23atan()
Возвращает арктангенс указанного double значения.
24atan2()
Возвращает угол тета от преобразования прямоугольных координат (x, y) в полярных координатах (г, тета).
25toDegrees()
Преобразует угол, измеренный в радианах в примерно эквивалентном угол, измеренный в градусах.
26toRadians()
Преобразует угол, измеренный в градусах, в приблизительно эквивалентный угол, измеренный в радианах.
27random()
Возвращает double значение с положительным знаком, больше чем или равно 0.0 и меньше чем 1.0 .

Оглавление