Java 14에서 Records 클래스를 사용하여 equals() 및 hashCode() 메서드를 자동으로 생성하는 방법
Java 14에서 Records 클래스를 사용하여 equals() 및 hashCode() 메서드를 자동으로 생성하는 방법
Java 프로그래밍에서는 클래스에 대해 equals() 및 hashCode() 메서드를 작성해야 하는 경우가 많습니다. 이 두 가지 방법은 객체의 동일성 및 해시 코드를 처리할 때 매우 중요합니다. 이 프로세스를 단순화하기 위해 Java 14에는 새로운 Records 클래스가 도입되었습니다. Records 클래스는 equals() 및 hashCode() 메서드를 작성하는 간단한 방법을 제공하며 이 두 메서드의 구현은 클래스의 멤버 변수를 기반으로 자동으로 생성될 수 있습니다. 이 기사에서는 Java 14의 Records 클래스를 사용하여 equals() 및 hashCode() 메서드를 자동으로 생성하는 방법을 소개합니다.
먼저 간단한 예를 살펴보겠습니다. 이름과 나이라는 두 개의 멤버 변수가 있는 Person이라는 클래스가 있다고 가정합니다. 우리는 두 개의 Person 객체가 동일한지와 이를 생성한 해시 코드를 비교할 수 있기를 원합니다.
Java 14 이전에는 아래와 같이 equals() 및 hashCode() 메서드를 수동으로 작성해야 했습니다.
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } Person person = (Person) obj; return age == person.age && Objects.equals(name, person.name); } @Override public int hashCode() { return Objects.hash(name, age); } }
위 코드는 Person 클래스의 equals() 및 hashCode() 메서드를 구현하지만 논리가 필요합니다. 멤버 변수가 동일한지 비교하고 해시 코드를 생성합니다.
이제 Records 클래스를 사용하여 이 프로세스를 단순화해 보겠습니다. Records 키워드를 직접 사용하여 클래스를 정의하고 해당 멤버 변수를 지정할 수 있습니다. 그런 다음 Records 클래스는 자동으로 equals() 및 hashCode() 메서드 구현을 생성합니다. 이 경우 다음 코드를 사용하여 Person 클래스를 정의할 수 있습니다.
public record Person(String name, int age) {}
네, 정말 간단합니다! 단 한 줄의 코드로 Records 클래스를 정의하고 자동으로 equals() 및 hashCode() 메서드 구현을 가져옵니다.
이제 확인해 보겠습니다.
public class Main { public static void main(String[] args) { Person person1 = new Person("Alice", 25); Person person2 = new Person("Alice", 25); Person person3 = new Person("Bob", 30); System.out.println(person1.equals(person2)); // 输出:true System.out.println(person1.equals(person3)); // 输出:false System.out.println(person1.hashCode()); // 输出:2035395 System.out.println(person2.hashCode()); // 输出:2035395 System.out.println(person3.hashCode()); // 输出:66181377 } }
보시다시피 Records 클래스를 사용하면 두 Person 개체의 동등성을 쉽게 비교하고 해시 코드를 생성할 수 있습니다. Person 클래스의 equals() 메소드는 두 멤버 변수 name과 age의 동일성을 자동으로 비교하고 hashCode() 메소드는 이름과 age를 기반으로 해시 코드를 자동으로 생성합니다.
또한 Records 클래스는 객체를 인스턴스화하고 멤버 변수를 통해 해당 값에 액세스하는 데 사용할 수 있는 생성자를 제공합니다. 예를 들어, person.name과 person.age를 통해 Person 객체의 이름과 나이에 접근할 수 있습니다.
요약하자면, Records 클래스를 사용하여 Java 14에서 equals() 및 hashCode() 메서드를 자동으로 생성하는 것은 매우 간단하고 편리한 방법입니다. 한 줄의 코드로 Records 클래스를 정의하기만 하면 객체가 동일한지 쉽게 비교하고 해시 코드를 생성할 수 있습니다. 자동으로 생성된 이 방법은 코드 작성을 크게 단순화하고 개발 효율성을 향상시킵니다. 이로 인해 Records 클래스는 Java 14에서 매우 유용한 기능이 되었습니다.
위 내용은 Java 14에서 Records 클래스를 사용하여 equals() 및 hashCode() 메서드를 자동으로 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Java의 TimeStamp to Date 안내. 여기서는 소개와 예제와 함께 Java에서 타임스탬프를 날짜로 변환하는 방법에 대해서도 설명합니다.

캡슐은 3 차원 기하학적 그림이며, 양쪽 끝에 실린더와 반구로 구성됩니다. 캡슐의 부피는 실린더의 부피와 양쪽 끝에 반구의 부피를 첨가하여 계산할 수 있습니다. 이 튜토리얼은 다른 방법을 사용하여 Java에서 주어진 캡슐의 부피를 계산하는 방법에 대해 논의합니다. 캡슐 볼륨 공식 캡슐 볼륨에 대한 공식은 다음과 같습니다. 캡슐 부피 = 원통형 볼륨 2 반구 볼륨 안에, R : 반구의 반경. H : 실린더의 높이 (반구 제외). 예 1 입력하다 반경 = 5 단위 높이 = 10 단위 산출 볼륨 = 1570.8 입방 단위 설명하다 공식을 사용하여 볼륨 계산 : 부피 = π × r2 × h (4
