Java의 불변 클래스
원본 기사를 방문하십시오: https://www.java8net.com/2020/11/immutable-class-in-java.html
자바에서 불변 클래스를 만드는 단계
4.1) 생성자 내부에서 전달된 인수의 복제 복사본을 사용해야 하며 변경 가능한 필드를 생성자를 통해 전달된 실제 인스턴스로 설정하지 마십시오.
4.2) 항상 필드의 복제 복사본을 반환하고 실제 개체 인스턴스를 반환하지 않도록 합니다.
자바에서 불변 클래스 구현
class Address{
private String houseNumber;
private String street;
private String city;
}
final class User {
private final int id;
private final String name;
private final String email;
private final Address address;
/*
* To clone the address.
*/
private static Address cloneAddress(Address address) {
return new ObjectMapper().convertValue(address, Address.class);
}
User(int id, String name, String email, Address address) {
this.id = id;
this.name = name;
this.email = email;
/*
* Any field contains reference of any mutable
* object must be
* initialized with the cloned object
*/
this.address = cloneAddress(address);
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
public Address getAddress() {
/*
* Getter method must return the reference of cloned object.
*/
return cloneAddress(address);
}
}
자바에서 미리 정의된 불변 클래스
java.util.UUID
고유한 128비트 16진수 문자열을 나타냅니다. Java에서 Immutable 클래스를 만들 때의 이점
원본 기사를 방문하십시오: https://www.java8net.com/2020/11/immutable-class-in-java.html
Reference
이 문제에 관하여(Java의 불변 클래스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aryan19694946/immutable-class-in-java-4m51텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)