Автоматический toString() в Record
Пример:
Если писать это же через класс, получится больше кода:
И в том и в другом случае мы получаем объект для хранения данных:
Но есть отличие
У
В обычном классе дефолтный
Пример:
Вывод:
То есть у record
👉 Java Portal
record
сравнительно новая фича в Java, которая позволяет описывать сущности без явного объявления полей и написания геттеров/сеттеров.Пример:
record User(String name, int age, String city) { }
Если писать это же через класс, получится больше кода:
class User {
public String name;
public int age;
public String city;
public User(String name, int age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
}
И в том и в другом случае мы получаем объект для хранения данных:
new User("Nick", 20, "New York");
Но есть отличие
У
record
метод toString()
генерируется автоматически и выводит имена и значения всех полей в удобном формате.В обычном классе дефолтный
toString()
возвращает имя класса и хэш объекта.Пример:
record User(String name, int age, String city) { }
class SecondUser {
public String name;
public int age;
public String city;
public SecondUser(String name, int age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
}
public static void main(String[] args) throws Exception {
User firstUser = new User("Nick", 20, "New York");
SecondUser secondUser = new SecondUser("Charley", 25, "New York");
System.out.println(firstUser);
System.out.println(secondUser);
}
Вывод:
User[name=Nick, age=20, city=New York]
org.example.SecondUser@68de145
То есть у record
toString()
сразу готов, а для обычного класса придётся переопределять вручную.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4
РАЗЫГРЫВАЕМ iPhone 16 Pro Max, Macbook Air M4, AirPods Pro и кучу других призов — с вас всего лишь подписка.
Для участия нужно:
Итоги подведём 8 сентября в 18:00 случайным образом при помощи бота. Доставка для победителя бесплатная. Всем удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Ресурс для разработчиков, чтобы создавать изометрические диаграммы своей инфраструктуры или софта.
Open-source: https://github.com/stan-smith/FossFLOW
👉 Java Portal
Open-source: https://github.com/stan-smith/FossFLOW
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
Java Off-Heap Memory с DirectByteBuffer
Большинство Java-разработчиков работают только с объектами в куче JVM, управляемой Garbage Collector.
Но в системах с высокими требованиями к производительности — базах данных, игровых движках или messaging-системах — Java может использовать off-heap memory (память вне кучи JVM) через
Преимущества
- снижение пауз GC
- ускорение I/O операций
- возможность работать с большими наборами данных без раздувания кучи
👉 Java Portal
Большинство Java-разработчиков работают только с объектами в куче JVM, управляемой Garbage Collector.
Но в системах с высокими требованиями к производительности — базах данных, игровых движках или messaging-системах — Java может использовать off-heap memory (память вне кучи JVM) через
DirectByteBuffer
Преимущества
- снижение пауз GC
- ускорение I/O операций
- возможность работать с большими наборами данных без раздувания кучи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3