類似PHP中的var_dump,Java中的輸出除錯函式
阿新 • • 發佈:2019-01-10
public void helpFunc(Object o) {
String className = o.getClass().getName();
Field[] fields = o.getClass().getDeclaredFields();
System.out.println("類" + className + "中宣告的field屬性");
for (int i = 0; i < fields.length; ++i) {
fields[i].setAccessible(true);
try {
System.out .println(fields[i].getName() + "-" + fields[i].toString() + "-" + fields[i].get(o));
} catch (Exception e) {
System.out.println(e);
}
}
Class[] classes = o.getClass().getDeclaredClasses();
System.out.println("類" + className + "中宣告的類");
for (int i = 0; i < classes.length; ++i) {
try {
System.out.println(classes[i].getName() + "-" + classes[i].toString());
} catch (Exception e) {
System.out.println(e);
}
}
Method[] methods = o.getClass().getDeclaredMethods ();
System.out.println("類" + className + "中宣告的方法");
for (int i=0; i < methods.length; ++i) {
try {
System.out.println(methods[i].getName() + "-" + methods[i].toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
2017年3月30日17:22:54更新
/**
* 通過按位與運算,計算需要列印的選項
* 0或1 列印類的屬性
* 0或2 列印類中宣告的類
* 0或4 列印類的方法
* 例如3表示 列印類的屬性和類中宣告的類
* @param o 需要列印的物件
* @param sum 需要列印的和值
*/
public static void helpFunc(Object o, int sum) {
String className = o.getClass().getName();
if ((sum & 1) == 1) {
Field[] fields = o.getClass().getDeclaredFields();
System.out.println("類" + className + "中宣告的field屬性");
for (int i = 0; i < fields.length; ++i) {
fields[i].setAccessible(true);
try {
System.out.println(fields[i].getName() + "-" + fields[i].toString() + "-" + fields[i].get(o));
} catch (Exception e) {
System.out.println(e);
}
}
}
if ((sum & 2) == 2) {
Class[] classes = o.getClass().getDeclaredClasses();
System.out.println("類" + className + "中宣告的類");
for (int i = 0; i < classes.length; ++i) {
try {
System.out.println(classes[i].getName() + "-" + classes[i].toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
if ((sum & 4) == 4) {
Method[] methods = o.getClass().getDeclaredMethods();
System.out.println("類" + className + "中宣告的方法");
for (int i = 0; i < methods.length; ++i) {
try {
System.out.println(methods[i].getName() + "-" + methods[i].toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
}