go2goj Asked:2020-11-29 00:40:21 +0000 UTC2020-11-29 00:40:21 +0000 UTC 2020-11-29 00:40:21 +0000 UTC 编译器生成的方法 - 有什么意义? 772 例如,编译器生成的枚举方法 values() 和 valueOf(String name) (它们不在Enum类中):为什么不在 Enum 类中像其他方法一样声明它们? 这些方法的文档在哪里? java 2 个回答 Voted Barmaley 2020-11-29T03:45:37Z2020-11-29T03:45:37Z 1) 首先有一代默认构造函数 2)然后决定添加方法Enum 3) 此外,您必须为 自动生成访问方法inner class,否则内部类将不可用 4)然后我们决定是时候把事情整理好并引入注解,注解处理器将在编译时生成方法,至少在编译时对方法的生成有一定程度的控制 5) 然后是 Kotlin,它使得在编译时自动生成方法通常成为一个原则。 6) ... Best Answer Anton Shchyrov 2020-11-29T03:31:55Z2020-11-29T03:31:55Z 因为该类Enum对您的枚举名称或其值一无所知。可以通过反射将它们拉出来,但这很长。在编译时生成这些方法更容易更快
1) 首先有一代默认构造函数
2)然后决定添加方法
Enum3) 此外,您必须为 自动生成访问方法
inner class,否则内部类将不可用4)然后我们决定是时候把事情整理好并引入注解,注解处理器将在编译时生成方法,至少在编译时对方法的生成有一定程度的控制
5) 然后是 Kotlin,它使得在编译时自动生成方法通常成为一个原则。
6) ...
因为该类
Enum对您的枚举名称或其值一无所知。可以通过反射将它们拉出来,但这很长。在编译时生成这些方法更容易更快