锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久99精品久久久野外观看,日韩av二区在线播放,久久xxxxhttp://www.aygfsteel.com/fatsheng/zh-cnFri, 20 Jun 2025 16:31:51 GMTFri, 20 Jun 2025 16:31:51 GMT60Class 綾葷殑isArray()鏂規硶http://www.aygfsteel.com/fatsheng/archive/2008/10/22/235925.html鐚崌鐚崌Wed, 22 Oct 2008 05:33:00 GMThttp://www.aygfsteel.com/fatsheng/archive/2008/10/22/235925.htmlhttp://www.aygfsteel.com/fatsheng/comments/235925.htmlhttp://www.aygfsteel.com/fatsheng/archive/2008/10/22/235925.html#Feedback0http://www.aygfsteel.com/fatsheng/comments/commentRss/235925.htmlhttp://www.aygfsteel.com/fatsheng/services/trackbacks/235925.htmlisXXX()鐨勬柟娉曟槸寰堢粡甯歌鐨勪竴綾繪柟娉曪紝鍏朵腑錛屽湪鍙嶅皠綾誨簱涓殑Class 綾誨氨鏈塱sArray()榪欎竴鏂規硶錛岀敱涓嬫枃鐨勪唬鐮佽繍琛屽彲浠ュ緱鍒頒竴涓粨璁猴細灝辨槸ArrayList瀵硅薄涓嶈兘閫氳繃isArray()鐨勬楠岋紝鍏跺疄寰堝ぇ紼嬪害鏄垜鍏堝叆涓轟富鐨勮涓篈rrayList鏄疉rray錛屼負浠涔堜細榪欐牱璁や負鍛紵涓鏂歸潰鏄洜涓虹被鍚嶄笂鏈堿rray鐨勫瓧鏍鳳紝鍙︿竴鏂歸潰灝辨槸璁や負ArrayList鍙兘鏄疄鐜頒簡涓涓彨Array鐨勬帴鍙c傛煡api鍙互鐭ラ亾錛屽叾瀹炲茍娌℃湁榪欐牱涓涓帴鍙o紝鍙湁鍙嶅皠搴撻噷鏈夎繖涔堜竴涓被錛屽綋鐒跺拰ArrayList娌′粈涔堝叧緋誨暒銆傛槑鐧戒簡榪欑偣錛屽氨鍙互鐭ラ亾鍏跺疄isArray()鏂規硶鐨勫垽鏂氨涓嶆槸鎺ュ彛浜嗐?br />
緇撳悎涓嬮潰浠g爜鐨勭粨鏋滃彲浠ョ煡閬擄紝鍏跺疄isArray()鏄互“[]”鏉ュ垽鏂殑錛岃嚦浜庢庝箞瀹炵幇錛屽皬寮熻兘鍔涙湁闄愩?br /> 浜嬪疄涓婏紝ArrayList瀵硅薄涓湁elementData榪欎竴Object[]鍙橀噺錛屾墍浠ワ紝鍦ㄤ唬鐮佺殑絎竴嬈¢掑綊鍓嶏紝鍒╃敤鍙嶈韓鏈哄埗鑾峰緱浜嗚繖涓Field騫惰繘鍏oString閫掑綊錛屽茍閫氳繃浜唅sArray()鐨勬楠屻?br />
鍙﹀錛氱敱鎵撳嵃鍑烘潵鐨勬秷鎭彲浠ョ煡閬擄紝濡傛灉灝嗕袱涓猺eturn鍒嗘垚涓ら儴鍒嗭紝鍒欙紝鍓嶉潰鐨勫彧璋冪敤榪?嬈★紝鍚庨潰鐨勮皟鐢ㄤ簡5嬈★紝閭f槸鍥犱負鏁扮粍Object[] elementData鍦ㄦ帴鏀朵簡鍘熷瀷鏁版嵁int鍚庝細灝唅nt鑷姩灝佽鎴恓ava.lang.Integer瀵硅薄錛屾墍浠etComponent()鑾峰緱鐨勬槸Integer綾誨瀷錛岃岄潪鍘熷瀷int錛屽洜姝ら掑綊璋冪敤toString()銆?br />
絎竴嬈″啓BLOG錛屽搱鍝堬紝椹┈铏庤檸錛岃瑙佽皡


浠ヤ笅鏄竴孌礐ore Java閲岀殑涓涓緥瀛愶紝鍔犱笂鎴戣嚜宸辯殑璋冭瘯璇彞錛?br /> 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.Date;
import java.util.LinkedList;


public class ObjectAnalyzerTest {
 
 public static void main(String [] args){
 
  ArrayList<Integer> squares=new ArrayList<Integer>();
  for(int i=1; i<=5;i++)squares.add(i*i);
  System.out.println(new ObjectAnalyzer().toString(squares));
  
 }

}

class ObjectAnalyzer{
 
 public String toString(Object obj){
  if(obj==null)return "null";
  if(visited.contains(obj))return "...";//************
  visited.add(obj);
  Class cl=obj.getClass();
  if(cl==String.class)return (String)obj;
  if(cl.isArray()){
//   System.out.println(cl.getName()+"+"+"1+"+re++);
   String r = cl.getComponentType()+"[]{";
   for (int i = 0;i < Array.getLength(obj);i++){
    if (i>0)r+=",";
    Object val = Array.get(obj,i);
    if (cl.getComponentType().isPrimitive()) r+=val;
    else r += toString(val);
   }
   System.out.println("X+"+r);
   return r+"}";
  }
  
  String r = cl.getName();
  
//  System.out.println(cl.getName()+"+"+"0+"+re++);
  
  do
  {
   r+="[";
   Field[] fields=cl.getDeclaredFields();
   AccessibleObject.setAccessible(fields,true);
   for(Field f:fields){
    if(!Modifier.isStatic(f.getModifiers())){
     if(!r.endsWith("["))r+=",";
     r+= f.getName()+"=";
     try{
      Class t = f.getType();
      Object val = f.get(obj);
      if(t.isPrimitive()) r+=val;
      else r+=toString(val);
     }catch(Exception e){
      e.printStackTrace();
     }
    }
   }
   r+="]";
   cl=cl.getSuperclass();
   
  }
  while(cl!=null);
  System.out.println("X+"+r);
  return r;
  
 }
 private ArrayList<Object> visited=new ArrayList<Object>();
 private int re=0;
}



鐚崌 2008-10-22 13:33 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 吴川市| 寻甸| 常宁市| 琼结县| 浏阳市| 大港区| 蒲江县| 行唐县| 津市市| 五原县| 临沂市| 澄城县| 财经| 保德县| 卢湾区| 许昌县| 封开县| 黔江区| 江安县| 获嘉县| 建宁县| 新巴尔虎右旗| 察雅县| 于田县| 新化县| 灵璧县| 四平市| 深水埗区| 定结县| 南京市| 云林县| 南川市| 共和县| 尉氏县| 北流市| 班玛县| 特克斯县| 富源县| 柏乡县| 宿松县| 东明县|