java 反射 类名_java – 从反射中获取字段的类名
我圍著這個轉(zhuǎn)了一圈.
我有一個人類,例如
public class Person {
String name = "";
}
現(xiàn)在,我想反思這個類實例&弄清楚什么類名稱聲明為.
所以,name = String或java.lang.String
這是我的代碼:
‘this’是Person的一個實例.
try {
String className = this.getClass().getName();
Class cls = Class.forName(className);
Field fieldlist[] = cls.getDeclaredFields();
for (int i = 0; i < fieldlist.length; i++) {
Field fld = fieldlist[i];
int mod = fld.getModifiers();
System.out.println("1. " + fld.toGenericString());
System.out.println("2. " + fld.getName());
System.out.println("3. " + fld.getGenericType() + "]");
Object oj = fld.getType();
// Says that 4: class java.lang.String
System.out.println("4: " + oj.toString());
Class c1 = oj.getClass();
// Should throw Exception
String stype = c1.getDeclaringClass().toString();
System.out.println("5. " + stype);
}
}
catch (Throwable e) {
System.err.println(e);
}
我設(shè)法得到了一個聲明:
class java.lang.String
但我需要它是“java.lang.String”
有任何想法嗎?
總結(jié)
以上是生活随笔為你收集整理的java 反射 类名_java – 从反射中获取字段的类名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql select效率_Mysql
- 下一篇: 信息学奥赛一本通 1319:【例6.1】