有没有办法通过反射找出构造函数是否是编译器生成的默认构造函数?还是有其他方法?
令人惊讶的是,该isSynthetic
方法没有提供此信息,因此无法使用。并且没有Generated
注释存在。
public class JavaTest {
public void run() throws Exception {
out.println(JavaTest.class.getConstructors()[0].isSynthetic()); // Prints false
out.println(Arrays.asList(JavaTest.class.getConstructors()[0].getAnnotations())); // Prints []
}
}
这个问题问的是同样的事情,但对于 C#:Detect compiler generated default constructor using reflection in C#