Java에서 레코드란 무엇입니까? 어떤 문제를 해결합니까?
대부분의 경우 다음을 정의해야 합니다.
이들 중 일부는 IDE에서 자동 생성될 수 있지만 데이터 요소의 수가 증가함에 따라 코드 줄이 늘어납니다.
레코드가 구출되어 지금까지 작성해야 했던 모든 상용구 코드를 줄입니다. 레코드는 Java SE 14의 미리 보기 기능으로 Java 언어로 도입되었습니다.
레코드를 정의하는 방법?
public record EmployeeRecord(String name, int employeeNumber) {
}
레코드는 클래스처럼 인스턴스화할 수 있으며 속성은 getter 메서드로 액세스할 수 있습니다[getter 메서드 이름은 getXXXX()로 시작하지 않음]
public class RecordExampleTest {
public static void main(String[] args) {
EmployeeRecord employeeRecord = new EmployeeRecord("Pradipta", 123);
System.out.println(String.format("Employee Name : %s , Employee Number : %s",
employeeRecord.name(), employeeRecord.employeeNumber()));
}
}
Cannonical Constructor로 알려진 생성자가 자동으로 생성됩니다. toString(), equals() 및 hashCode() 메서드와 같은 메서드도 암시적으로 자동 생성됩니다.
기억해야 할 몇 가지 사항:
위에서 언급한 사항은 다음과 같이 나타낼 수 있습니다.
public record EmployeeRecord(String name, int employeeNumber) {
private static final String DEFAULT_VALUE = "default-value";
public EmployeeRecord {
if(employeeNumber < 0)
throw new IllegalStateException("Employee Numbers cannot be negative");
}
public String generateUniqueNumber() {
return name + "-" + employeeNumber;
}
public static void printSomething() {
System.out.println("Print anything here...." + DEFAULT_VALUE);
}
}
Reference
이 문제에 관하여(Java에서 레코드란 무엇입니까? 어떤 문제를 해결합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pradz13/what-is-record-in-java-what-problem-does-it-solve-3d8b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)