Hacker News new | ask | show | jobs
by opmac 3155 days ago
Just use public final. That is the defacto way to make immutable data classes. Why would a data class need non final fields?
1 comments

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.