Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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 =


Ïà¹ØÎĵµ£º

JavaºËÐÄAPIÐèÒªÕÆÎյij̶È


JavaµÄºËÐÄAPIÊǷdz£ÅÓ´óµÄ,Õâ¸ø¿ª·¢ÕßÀ´Ëµ´øÀ´Á˺ܴóµÄ·½±ã£¬¾­³£ÈËÓÐÆÀÂÛ,javaÈóÌÐòÔ±±äɵ¡£
µ«ÊÇһЩÄÚÈÝÎÒÈÏΪÊDZØÐëÕÆÎյ쬷ñÔò²»¿ÉÒÔÊìÁ·ÔËÓÃjava£¬Ò²²»»áʹÓþͺÜÄѰìÁË¡£
1¡¢java.lang°üϵÄ80£¥ÒÔÉϵÄÀàµÄ¹¦ÄܵÄÁé»îÔËÓá£
2¡¢java.util°üϵÄ80£¥ÒÔÉϵÄÀàµÄÁé»îÔËÓã¬ÌرðÊǼ¯ºÏÀàÌåϵ¡¢Õý¹æ±í´ïʽ¡¢Ê±¼ä¡ ......

JavaµÄÄÚ´æÐ¹Â©

JavaµÄÄÚ´æÐ¹Â©
===========================================================
×÷Õß: shwenwen(http://shwenwen.itpub.net)
·¢±íÓÚ: 2009.06.04 10:38
·ÖÀà: java¿ª·¢¼¼Êõ
³ö´¦: http://shwenwen.itpub.net/post/34911/485404
---------------------------------------------------------------
²»¹ÜÓÃjava C++ ......

java³£ÓÃÀà blobFileBean

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»ñµÃÒ»¸öÊý×éµÄÖ¸¶¨³¤¶ÈµÄÅÅÁÐ

import java.util.Stack;

/**
* JAVA»ñµÃÒ»¸öÊý×éµÄÖ¸¶¨³¤¶ÈµÄÅÅÁÐ×éºÏ¡£<br>
*
* @author JAVAÊÀ¼ÍÍø(java2000.net, laozizhu.com)
*/
public class TestSequenceAll {
public static void main(String[] args) {
TestSequenceAll t = new TestSequenceAll();
Ob ......

java IO³õ²½

ʲôÊÇÁ÷£º
Á÷ÊÇÒ»¸ö³éÏóµÄ¸ÅÄî¡£µ±Java³ÌÐòÐèÒª´ÓÊý¾ÝÔ´¶ÁÈ¡Êý¾Ýʱ£¬»á¿ªÆôÒ»¸öµ½Êý¾ÝÔ´µÄÁ÷¡£Êý¾ÝÔ´¿ÉÒÔÊÇÎļþ£¬ÄÚ´æ»òÕßÍøÂçµÈ¡£Í¬Ñù£¬µ±³ÌÐòÐèÒªÊä³öÊý¾Ýµ½Ä¿µÄµØÊ±Ò²Ò»Ñù»á¿ªÆôÒ»¸öÁ÷£¬Êý¾ÝÄ¿µÄµØÒ²¿ÉÒÔÊÇÎļþ¡¢ÄÚ´æ»òÕßÍøÂçµÈ¡£Á÷µÄ´´½¨ÊÇΪÁ˸ü·½±ãµØ´¦ÀíÊý¾ÝµÄÊäÈëÊä³ö¡£
Á÷·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷¡£×Ö½ÚÁ÷Ò²³ÆÎªÔ­Ê ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ