Java Reflect ·´Éä»úÖÆ ѧϰ±Ê¼Ç [ÍòÄÜtoString·½·¨]
ÀûÓÃJava Reflect»úÖÆ±àдÍòÄÜtoString()·½·¨:
package com.accp.test.filed;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
public class ObjectAnalyzer {
private List<Object> visited = new ArrayList<Object>();
public String toString(Object obj) {
if (obj == null)
return null; // Èç¹ûobjΪ¿Õ..·µ»Ønull
if (visited.contains(obj))
return "..."; // Èç¹ûvisitedÖÐÒѾ°üº¬obj,·µ»Ø...
visited.add(obj);
Class c1 = obj.getClass(); // µÃµ½ÔËÐÐʱ¶ÔÏó
if (c1 == String.class)
return (String) obj; // Èç¹ûc1ÊÇStringÀàÐÍ,Ö±½Óת»»
if (c1.isArray()) { // Èç¹ûÊÇÊý×éÀàÐÍ
String r = c1.getComponentType() + "[]{"; // µÃµ½¸ÃÊý×é×é¼þÀàÐ͵ÄClass
for (int i = 0; i < Array.getLength(obj); i++) {
if (i > 0)
r += ",";
Object var = Array.get(obj, i); // È¡µÃobj[i]ÔªËØµÄÖµ
if (c1.getComponentType().isPrimitive()) // Èç¹ûΪ»ù±¾ÀàÐÍ
r += var;
else
r += toString(var); // µÝ¹éµ÷ÓÃ
}
return r + "}";
}
String r = c1.getName(); // µÃµ½objÃû³Æ
// ¼ì²é±¾ÀàÓòºÍËùÓг¬ÀàÓò
do {
r += "[";
Field[] fields = c1.getDeclaredFields(); // µÃµ½±¾ÀàºÍ³¬ÀàËùÓÐÓò
AccessibleObject.setAccessible(fields, true); // ½«ËùÓÐÓòÉèÖÃΪ¿É·ÃÎʵÄ.
for (Field field : fields) {
if (!Modifier.isStatic(field.getModifiers())) {
if (!r.endsWith("["))
r += ",";
r += field.getName() + "=";
try {
Class type = field.getType(); // µÃµ½×Ö¶ÎÀàÐÍ
Object var =
Ïà¹ØÎĵµ£º
Èí¼þ¿ª·¢Ö®Â·ÊdzäÂú¾£¼¬ÓëÌôս֮·,Ò²ÊdzäÂúÏ£Íû֮·¡£JavaѧϰҲÊÇÈç´Ë£¬Ã»Óнݾ¶¿É×ß¡£ÃÎÏëÏñ¡¶ÌìÁú°Ë²¿¡·ÖÐÐéÖñÒ»Ñù
±»ÎÞÑÂ×Óõ®õ¹à¶¥¶øÇáËÉ»ñµÃÒ»¼××Ó¹¦Á¦,ÊǺܲ»ÏÖʵµÄ¡£Ã¿ÌìÑöÌì´ó½Ð"ÌìÉñ°¡£¬Çë´Í¸øÎÒÒ»±¾¿û»¨±¦µä°É"£¬
Êâ²»Öª¼´Ê¹Äã»ñµÃÁË¿û»¨±¦µä£¬³ýÁËÊÜ×Ô¹¬ÆäÉíÖ®¿àÍ⣬ÄãÒ²²»Ò»¶¨³ÉµÃÁË"¶«·½²»°Ü"£¬µ¹ÊdzÉ"Î÷· ......
package com.whlongyi.sys.blob.bean;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
im ......
À¬»øÊÕ¼¯¼¸ºõÊÇÿ¸ö¿ª·¢ÈËÔ±¶¼Ï²°®µÄÒ»¸ö Java™ Æ½Ì¨ÌØÐÔ£¬Ëü¼ò»¯ÁË¿ª·¢£¬Ïû³ýÁËËùÓÐÖÖÀàµÄDZÔÚ´úÂë´íÎ󡣿ɾ¡¹ÜÀ¬»øÊÕ¼¯Ò»°ãÀ´Ëµ¿ÉÒÔÈÃÄúÎÞÐè½øÐÐ×ÊÔ´¹ÜÀí£¬ÓÐʱºòÄú»¹ÊDZØÐë×Ô¼º½øÐÐһЩÄÚÎñ´¦Àí¡£
ÏÔʽµØÊÍ·Å×ÊÔ´
Java ³ÌÐòÖÐʹÓõľø´ó¶àÊý×ÊÔ´¶¼ÊǶÔÏó£¬À¬»øÊÕ¼¯ÔÚÇåÀí¶ÔÏó·½Ãæ×öµÃºÜºÃ¡£Òò´Ë£¬Äú¿ÉÒÔʹÓÃÈÎ ......
package com.deng.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestOracle {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriv ......