Java'daki yansımayı kullanarak başka bir sınıf içinde bir numaralandırma sınıfı bulma konusunda yardıma ihtiyacım var. Bununla çok uzun zamandır mücadele ediyorum. Bunu yanı sıra bir dizi diğer yazıyı okudum ve hepsi aşağıdaki gibi çalışması gerektiğine inanıyorum.Java'da Yansıma kullanarak bir Numaralandırma Sınıfı Bulma
Exception in thread "main" java.lang.RuntimeException: Class by name 'ModelActivity.AttributeEnumeration' not found.
at ModelActivity.main(ModelActivity.java:27)
Caused by: java.lang.ClassNotFoundException: ModelActivity.AttributeEnumeration
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at ModelActivity.main(ModelActivity.java:25)
kimse the- işaret eder misiniz:
public class ModelActivity {
public enum AttributeEnumeration { MODELID, MODELURGENCY, MODELDUEDATEANDTIME }
public static void main(String[] args) {
// Find the class with the given name
String className = "ModelActivity";
Class modelClass = null;
try {
// Retrieve the Class with the given className...
modelClass = Class.forName(className);
} catch (ClassNotFoundException e) {
throw new RuntimeException("Class by name '" + className + "' not found.", e);
}
// Find the AttributeEnumeration within the class
String attributeEnumerationClassName = className + ".AttributeEnumeration";
Class attributeEnumerationClass = null;
try {
attributeEnumerationClass = Class.forName(attributeEnumerationClassName);
} catch (ClassNotFoundException e) {
throw new RuntimeException("Class by name '" + attributeEnumerationClassName + "' not found.", e);
}
}
}
Ancak, ne gerçekte olur şöyle İkinci ClassNotFoundException olsun, bir modelClass doğru bulunduğunu, ancak attributeEnumerationClass değil - muhtemelen açık - bana hata. Teşekkür ederim.
sınıf 'yüklemeyi deneyin ModelActivity $ AttributeEnumeration'. –