JAVA_IIBRARY Telegram 1689
Автоматический toString() в Record

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() сразу готов, а для обычного класса придётся переопределять вручную.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍4



tgoop.com/Java_Iibrary/1689
Create:
Last Update:

Автоматический toString() в Record

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() сразу готов, а для обычного класса придётся переопределять вручную.

👉 Java Portal

BY Java Portal | Программирование


Share with your friend now:
tgoop.com/Java_Iibrary/1689

View MORE
Open in Telegram


Telegram News

Date: |

Write your hashtags in the language of your target audience. End-to-end encryption is an important feature in messaging, as it's the first step in protecting users from surveillance. To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. 2How to set up a Telegram channel? (A step-by-step tutorial) A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more.
from us


Telegram Java Portal | Программирование
FROM American