Есть ли способ выяснить, является ли конструктор компилятором, сгенерированным конструктором по умолчанию или нет? Или есть какой-то другой способ?
Удивительно, что метод 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 []
}
}
Этот вопрос задает одно и то же, но для С#: Обнаружить созданный компилятором конструктор по умолчанию, используя отражение в С#