Перейти к основному содержимому

5.03. Встроенные функции в Java

Разработчику Архитектору

Встроенные функции в Java

Java не использует глобальные функции. Все операции выполняются через статические методы классов стандартной библиотеки. Основные утилиты сосредоточены в пакете java.lang и вспомогательных классах.

Завершение программы и системные операции

МетодНазначениеПример
System.exit(int status)Немедленное завершение виртуальной машины Java с указанным кодом возвратаSystem.exit(0);
Runtime.getRuntime().exit(int status)Альтернативный способ завершения через объект среды выполненияRuntime.getRuntime().exit(1);
System.gc()Запрос запуска сборщика мусораSystem.gc();
System.currentTimeMillis()Получение текущего времени в миллисекундах с эпохи Unixlong now = System.currentTimeMillis();
System.nanoTime()Получение высокоточного времени для измерения интерваловlong start = System.nanoTime();

Математические операции

МетодНазначениеПример
Math.abs(int a)Абсолютное значение числаint x = Math.abs(-5);
Math.max(int a, int b)Максимальное из двух чиселint m = Math.max(10, 20);
Math.min(int a, int b)Минимальное из двух чиселint n = Math.min(10, 20);
Math.sqrt(double a)Квадратный кореньdouble r = Math.sqrt(25.0);
Math.pow(double a, double b)Возведение в степеньdouble p = Math.pow(2.0, 3.0);
Math.random()Генерация случайного числа от 0.0 до 1.0double rand = Math.random();
Math.round(float a)Округление до ближайшего целогоlong r = Math.round(3.7f);
Math.floor(double a)Округление внизdouble f = Math.floor(3.9);
Math.ceil(double a)Округление вверхdouble c = Math.ceil(3.1);

Работа со строками

МетодНазначениеПример
String.valueOf(Object obj)Преобразование объекта в строковое представлениеString s = String.valueOf(123);
String.format(String format, Object... args)Форматирование строки по шаблонуString msg = String.format("Hello %s", name);
Objects.requireNonNull(T obj)Проверка объекта на null с выбросом исключения при нарушенииObjects.requireNonNull(param);
Objects.requireNonNull(T obj, String message)Проверка на null с пользовательским сообщением об ошибкеObjects.requireNonNull(url, "URL не может быть пустым");
Objects.toString(Object obj)Безопасное получение строкового представления с обработкой nullString text = Objects.toString(value);
Objects.toString(Object obj, String nullDefault)Строковое представление с указанием значения по умолчанию для nullString name = Objects.toString(user, "anonymous");

Работа с массивами

МетодНазначениеПример
Arrays.asList(T... a)Создание фиксированного списка на основе массиваList<String> list = Arrays.asList("a", "b", "c");
Arrays.sort(int[] a)Сортировка массива по возрастаниюArrays.sort(numbers);
Arrays.binarySearch(int[] a, int key)Бинарный поиск элемента в отсортированном массивеint pos = Arrays.binarySearch(sorted, 42);
Arrays.copyOf(int[] original, int newLength)Создание копии массива указанной длиныint[] copy = Arrays.copyOf(src, 10);
Arrays.fill(int[] a, int val)Заполнение массива одинаковым значениемArrays.fill(buffer, 0);
Arrays.equals(int[] a, int[] b)Сравнение двух массивов на равенствоboolean same = Arrays.equals(a, b);
Arrays.toString(Object[] a)Преобразование массива в строковое представлениеString view = Arrays.toString(data);

Коллекции и утилиты

МетодНазначениеПример
Collections.emptyList()Получение неизменяемого пустого спискаList<String> empty = Collections.emptyList();
Collections.singletonList(T o)Создание неизменяемого списка из одного элементаList<String> single = Collections.singletonList("item");
Collections.emptyMap()Получение неизменяемой пустой картыMap<String, Integer> empty = Collections.emptyMap();
Collections.emptySet()Получение неизменяемого пустого множестваSet<String> empty = Collections.emptySet();
Collections.unmodifiableList(List<? extends T> list)Создание неизменяемой обёртки вокруг спискаList<String> fixed = Collections.unmodifiableList(original);
Collections.sort(List<T> list)Сортировка спискаCollections.sort(items);
Collections.reverse(List<?> list)Разворот порядка элементов в спискеCollections.reverse(order);

Проверки и сравнения объектов

МетодНазначениеПример
Objects.equals(Object a, Object b)Безопасное сравнение двух объектов с обработкой nullboolean eq = Objects.equals(a, b);
Objects.deepEquals(Object a, Object b)Глубокое сравнение массивов и вложенных структурboolean same = Objects.deepEquals(arr1, arr2);
Objects.hash(Object... values)Вычисление хеш-кода для набора значенийint h = Objects.hash(name, age, city);
Objects.requireNonNullElse(T obj, T defaultObj)Возврат объекта или значения по умолчанию если nullString name = Objects.requireNonNullElse(input, "default");
Objects.requireNonNullElseGet(T obj, Supplier<? extends T> supplier)Возврат объекта или значения от поставщика если nullString cfg = Objects.requireNonNullElseGet(prop, () -> loadDefault());

Вывод и потоки

МетодНазначениеПример
System.out.println(String s)Вывод строки в стандартный поток вывода с переводом строкиSystem.out.println("Готово");
System.out.print(String s)Вывод строки без перевода на новую строкуSystem.out.print("Загрузка...");
System.err.println(String s)Вывод сообщения об ошибке в стандартный поток ошибокSystem.err.println("Ошибка подключения");
System.out.printf(String format, Object... args)Форматированный вывод в стандартный потокSystem.out.printf("Результат: %.2f%n", value);