On Fri, 21 May 2021 at 14:51, Alberto Otero Rodríguez <albest...@hotmail.com> wrote:
> Hi, > > I think enums in Java should be immutable. When you let the programmer > change values in an enum instance, an unexpected behaviour can happen when > using multiple threads as enum instances are static (singleton). > > So, I was wondering why not make enums instances be defined as records > instead of normal classes. > Lots of reasons, for example: * It would be a breaking change for an almost non-existent problem. * All internal state of enums would now be public. * Enum's extend java.lang.Enum, records extend java.lang.Record. java.lang.Enum cannot extend java.lang.Record because it has instance fields. /Kasper