Sni*_*las 8 java android annotations annotation-processing
我想知道是否可以通过注释处理器生成一个类,它将是要编译的类的内部类.
例如,在编译类时A,生成类A$Foo.我想知道是否有一个可以使用的技巧.我觉得有可能生成一些源代码,这些源代码将在与内部类相同的字节代码中编译.并且,在编译/运行时,JVM将其用于内部类,并允许访问外部类私有字段.
这个问题背后的想法,虽然它可能看起来或多或少是技术性的,但它不是一个noobie问题,是能够使用私有可见性修饰符来注释字段,如Dagger,ButterKnife等.私有修饰符允许检测未使用的字段更容易,而包私人保护隐藏它们.
或者是否有任何解决方法,任何方式来充分利用这两个词?
Kon*_*uda -2
私有可见性实际上只是对编译器的一个提示。在运行时访问这些字段完全没有问题(就像我在小型依赖注入器中所做的那样: https: //github.com/ko5tik/andject)
Android 上的非静态内部类通常是一个坏主意,因为它过去会带来性能损失。
在编译时,您可以使用像 xdoclet 这样的源代码生成工具(尽管它在几年前在技术上已经过时,但仍然偶尔使用)并在编译之前提前生成您需要的所有源代码。