如何通过可变引用维护类的不可变性
我知道使我们的类不可变的所有基本规则,但是当有另一个类引用时,我有点困惑。我知道如果有集合而不是集合,那么我们可以利用,然后我们可以使我们的类不可变。但在以下情况下,我仍然无法理解这个概念。Address
Collections.unmodifiableList(new ArrayList<>(modifiable));
public final class Employee{
private final int id;
private Address address;
public Employee(int id, Address address)
{
this.id = id;
this.address=address;
}
public int getId(){
return id;
}
public Address getAddress(){
return address;
}
}
public class Address{
private String street;
public String getStreet(){
return street;
}
public void setStreet(String street){
this.street = street;
}
}