The enum value is guaranteed to only be initialized once, ever by one thread, before its use. However, the methods you add to the enum class do not offer any guarantee of thread safety. If you have an enumeration so that methods do not change its state, then by definition they are thread safe
source share