Hacker News new | ask | show | jobs
by iamandoni 3155 days ago
While I mostly agree, getters without setters is a nice way to expose that youre data is immutable rather than relying on final fields
1 comments

Just use public final. That is the defacto way to make immutable data classes. Why would a data class need non final fields?
i'm a little rusty on my java, but i don't think this will work for non-constants (i.e. it won't work for things you don't set at compile time).

to my knowledge, there's no "make this a constant after the first time the value is set" declaration in java (or any language that i'm aware of).

If you declare a field final in Java, you either need to set it at declaration or in the constructor, so it will work with things set at compile time.