28 lines
804 B
Java
28 lines
804 B
Java
|
|
import java.util.Objects;
|
||
|
|
|
||
|
|
final class ImmutableClass {
|
||
|
|
ImmutableClass(MutableClass firstField, String secondField, Integer thirdField) {
|
||
|
|
this.firstField = new MutableClass(Objects.requireNonNull(firstField));
|
||
|
|
this.secondField = secondField;
|
||
|
|
this.thirdField = thirdField;
|
||
|
|
}
|
||
|
|
|
||
|
|
public MutableClass getFirstField() {
|
||
|
|
return new MutableClass(firstField);
|
||
|
|
}
|
||
|
|
|
||
|
|
public String getSecondField() {
|
||
|
|
// Копировать не нужно так как String является Immutable
|
||
|
|
return secondField;
|
||
|
|
}
|
||
|
|
|
||
|
|
public Integer getThirdField() {
|
||
|
|
// Копировать не нужно так как Integer является Immutable
|
||
|
|
return thirdField;
|
||
|
|
}
|
||
|
|
|
||
|
|
private final MutableClass firstField;
|
||
|
|
private final String secondField;
|
||
|
|
private final Integer thirdField;
|
||
|
|
}
|