What can you do to make an object such as this immutable? I am mostly concerned about solving public void someMethod(SomeObject someObject) { }
<== This case
For example:
public class SomeObject {
private String someString;
public void setSomeString(String someString) {
this.someString = someString;
}
public void getSomeString() {
return someString;
}
}
public void someMethod() {
final SomeObject someObject = new SomeObject();
someObject.set("Want to prevent this"); // <-- SomeObject is mutable in this case
}
public void someMethod(SomeObject someObject) {
someObject.set("And prevent this!"); // <-- And so is this
}