锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产成人亚洲精品,狠狠色婷婷狠狠狠亚洲综合 ,国产精品亚洲专区在线播放http://m.tkk7.com/blameswood/category/26348.html紼嬪簭浜虹敓:JAVA Web涔嬭礬zh-cnThu, 03 Apr 2008 00:25:24 GMTThu, 03 Apr 2008 00:25:24 GMT60Java Reflection (JAVA鍙嶅皠) http://m.tkk7.com/blameswood/articles/189080.html鐏劙鍑烘灄鐏劙鍑烘灄Thu, 27 Mar 2008 09:35:00 GMThttp://m.tkk7.com/blameswood/articles/189080.htmlhttp://m.tkk7.com/blameswood/comments/189080.htmlhttp://m.tkk7.com/blameswood/articles/189080.html#Feedback0http://m.tkk7.com/blameswood/comments/commentRss/189080.htmlhttp://m.tkk7.com/blameswood/services/trackbacks/189080.html
    Reflection 鏄?Java 紼嬪簭寮鍙戣璦鐨勭壒寰佷箣涓錛屽畠鍏佽榪愯涓殑 Java 紼嬪簭瀵硅嚜韜繘琛屾鏌ワ紝鎴栬呰“鑷”錛屽茍鑳界洿鎺ユ搷浣滅▼搴忕殑鍐呴儴灞炴с備緥濡傦紝浣跨敤瀹冭兘鑾峰緱 Java 綾諱腑鍚勬垚鍛樼殑鍚嶇О騫舵樉紺哄嚭鏉ャ侸ava 鐨勮繖涓鑳藉姏鍦ㄥ疄闄呭簲鐢ㄤ腑涔熻鐢ㄥ緱涓嶆槸寰堝錛屼絾鏄湪鍏跺畠鐨勭▼搴忚璁¤璦涓牴鏈氨涓嶅瓨鍦ㄨ繖涓鐗規с備緥濡傦紝Pascal銆丆 鎴栬?C++ 涓氨娌℃湁鍔炴硶鍦ㄧ▼搴忎腑鑾峰緱鍑芥暟瀹氫箟鐩稿叧鐨勪俊鎭?br /> JavaBean 鏄?reflection 鐨勫疄闄呭簲鐢ㄤ箣涓錛屽畠鑳借涓浜涘伐鍏峰彲瑙嗗寲鐨勬搷浣滆蔣浠剁粍浠躲傝繖浜涘伐鍏烽氳繃 reflection 鍔ㄦ佺殑杞藉叆騫跺彇寰?Java 緇勪歡(綾? 鐨勫睘鎬с?br />
1. 涓涓畝鍗曠殑渚嬪瓙
鑰冭檻涓嬮潰榪欎釜綆鍗曠殑渚嬪瓙錛岃鎴戜滑鐪嬬湅 reflection 鏄浣曞伐浣滅殑銆?br /> import java.lang.reflect.*;
public class DumpMethods {
    public static void main(String args[]) {
        try {
            Class c = Class.forName(args[0]);
            Method m[] = c.getDeclaredMethods();
            for (int i = 0; i < m.length; i++)
                System.out.println(m[i].toString());
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


鎸夊涓嬭鍙ユ墽琛岋細
java DumpMethods java.util.Stack

瀹冪殑緇撴灉杈撳嚭涓猴細
public java.lang.Object java.util.Stack.push(java.lang.Object)
public synchronized java.lang.Object java.util.Stack.pop()
public synchronized java.lang.Object java.util.Stack.peek()
public boolean java.util.Stack.empty()
public synchronized int java.util.Stack.search(java.lang.Object)

榪欐牱灝卞垪鍑轟簡java.util.Stack 綾葷殑鍚勬柟娉曞悕浠ュ強瀹冧滑鐨勯檺鍒剁鍜岃繑鍥炵被鍨嬨?/p>

榪欎釜紼嬪簭浣跨敤 Class.forName 杞藉叆鎸囧畾鐨勭被錛岀劧鍚庤皟鐢?getDeclaredMethods 鏉ヨ幏鍙栬繖涓被涓畾涔変簡鐨勬柟娉曞垪琛ㄣ俲ava.lang.reflect.Methods 鏄敤鏉ユ弿榪版煇涓被涓崟涓柟娉曠殑涓涓被銆?/p>

2.寮濮嬩嬌鐢?Reflection
鐢ㄤ簬 reflection 鐨勭被錛屽 Method錛屽彲浠ュ湪 java.lang.relfect 鍖呬腑鎵懼埌銆備嬌鐢ㄨ繖浜涚被鐨勬椂鍊欏繀欏昏閬靛驚涓変釜姝ラ錛氱涓姝ユ槸鑾峰緱浣犳兂鎿嶄綔鐨勭被鐨?java.lang.Class 瀵硅薄銆傚湪榪愯涓殑 Java 紼嬪簭涓紝鐢?java.lang.Class 綾繪潵鎻忚堪綾誨拰鎺ュ彛絳夈?/p>

涓嬮潰灝辨槸鑾峰緱涓涓?Class 瀵硅薄鐨勬柟娉曚箣涓錛?br /> Class c = Class.forName("java.lang.String");
榪欐潯璇彞寰楀埌涓涓?String 綾葷殑綾誨璞°傝繕鏈夊彟涓縐嶆柟娉曪紝濡備笅闈㈢殑璇彞錛?br /> Class c = int.class;   鎴栬?nbsp;  Class c = Integer.TYPE;

瀹冧滑鍙幏寰楀熀鏈被鍨嬬殑綾諱俊鎭傚叾涓悗涓縐嶆柟娉曚腑璁塊棶鐨勬槸鍩烘湰綾誨瀷鐨勫皝瑁呯被 (濡?Integer) 涓鍏堝畾涔夊ソ鐨?TYPE 瀛楁銆?br />
絎簩姝ユ槸璋冪敤璇稿 getDeclaredMethods 鐨勬柟娉曪紝浠ュ彇寰楄綾諱腑瀹氫箟鐨勬墍鏈夋柟娉曠殑鍒楄〃銆?br />
涓鏃﹀彇寰楄繖涓俊鎭紝灝卞彲浠ヨ繘琛岀涓夋浜嗏斺斾嬌鐢?reflection API 鏉ユ搷浣滆繖浜涗俊鎭紝濡備笅闈㈣繖孌典唬鐮侊細
Class c = Class.forName("java.lang.String");
Method m[] = c.getDeclaredMethods();
System.out.println(m[0].toString());
瀹冨皢浠ユ枃鏈柟寮忔墦鍗板嚭 String 涓畾涔夌殑絎竴涓柟娉曠殑鍘熷瀷銆?br /> 鍦ㄤ笅闈㈢殑渚嬪瓙涓紝榪欎笁涓楠ゅ皢涓轟嬌鐢?reflection 澶勭悊鐗規畩搴旂敤紼嬪簭鎻愪緵渚嬭瘉銆?/p>


妯℃嫙 instanceof 鎿嶄綔絎?br /> 寰楀埌綾諱俊鎭箣鍚庯紝閫氬父涓嬩竴涓楠ゅ氨鏄В鍐沖叧浜?Class 瀵硅薄鐨勪竴浜涘熀鏈殑闂銆備緥濡傦紝Class.isInstance 鏂規硶鍙互鐢ㄤ簬妯℃嫙 instanceof 鎿嶄綔絎︼細
class A {
}

public class instance1 {
    public static void main(String args[]) {
        try {
            Class cls = Class.forName("A");
            boolean b1 = cls.isInstance(new Integer(37));
            System.out.println(b1);
            boolean b2 = cls.isInstance(new A());
            System.out.println(b2);
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}

鍦ㄨ繖涓緥瀛愪腑鍒涘緩浜嗕竴涓?A 綾葷殑 Class 瀵硅薄錛岀劧鍚庢鏌ヤ竴浜涘璞℃槸鍚︽槸 A 鐨勫疄渚嬨侷nteger(37) 涓嶆槸錛屼絾 new A() 鏄?/p>


3.鎵懼嚭綾葷殑鏂規硶
鎵懼嚭涓涓被涓畾涔変簡浜涗粈涔堟柟娉曪紝榪欐槸涓涓潪甯告湁浠峰間篃闈炲父鍩虹鐨?reflection 鐢ㄦ硶銆備笅闈㈢殑浠g爜灝卞疄鐜頒簡榪欎竴鐢ㄦ硶錛?br /> import java.lang.reflect.*;
public class method1 {
    private int f1(Object p, int x) throws NullPointerException {
        if (p == null)
            throw new NullPointerException();
        return x;
    }
    public static void main(String args[]) {
        try {
            Class cls = Class.forName("method1");
            Method methlist[] = cls.getDeclaredMethods();
            for (int i = 0; i < methlist.length; i++) {
                Method m = methlist[i];
                System.out.println("name = " + m.getName());
                System.out.println("decl class = " + m.getDeclaringClass());
                Class pvec[] = m.getParameterTypes();
                for (int j = 0; j < pvec.length; j++)
                    System.out.println("param #" + j + " " + pvec[j]);
                Class evec[] = m.getExceptionTypes();
                for (int j = 0; j < evec.length; j++)
                    System.out.println("exc #" + j + " " + evec[j]);
                System.out.println("return type = " + m.getReturnType());
                System.out.println("-----");
            }
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


榪欎釜紼嬪簭棣栧厛鍙栧緱 method1 綾葷殑鎻忚堪錛岀劧鍚庤皟鐢?getDeclaredMethods 鏉ヨ幏鍙栦竴緋誨垪鐨?Method 瀵硅薄錛屽畠浠垎鍒弿榪頒簡瀹氫箟鍦ㄧ被涓殑姣忎竴涓柟娉曪紝鍖呮嫭 public 鏂規硶銆乸rotected 鏂規硶銆乸ackage 鏂規硶鍜?private 鏂規硶絳夈傚鏋滀綘鍦ㄧ▼搴忎腑浣跨敤 getMethods 鏉ヤ唬鏇?getDeclaredMethods錛屼綘榪樿兘鑾峰緱緇ф壙鏉ョ殑鍚勪釜鏂規硶鐨勪俊鎭?br />
鍙栧緱浜?Method 瀵硅薄鍒楄〃涔嬪悗錛岃鏄劇ず榪欎簺鏂規硶鐨勫弬鏁扮被鍨嬨佸紓甯哥被鍨嬪拰榪斿洖鍊肩被鍨嬬瓑灝變笉闅句簡銆傝繖浜涚被鍨嬫槸鍩烘湰綾誨瀷榪樻槸綾葷被鍨嬶紝閮藉彲浠ョ敱鎻忚堪綾葷殑瀵硅薄鎸夐『搴忕粰鍑恒?br />
杈撳嚭鐨勭粨鏋滃涓嬶細
name = f1
decl class = class method1
param #0 class java.lang.Object
param #1 int
exc #0 class java.lang.NullPointerException
return type = int
-----
name = main
decl class = class method1
param #0 class [Ljava.lang.String;
return type = void
-----


4.鑾峰彇鏋勯犲櫒淇℃伅
鑾峰彇綾繪瀯閫犲櫒鐨勭敤娉曚笌涓婅堪鑾峰彇鏂規硶鐨勭敤娉曠被浼鹼紝濡傦細
import java.lang.reflect.*;
public class constructor1 {
    public constructor1() {
    }

    protected constructor1(int i, double d) {
    }

    public static void main(String args[]) {
        try {
            Class cls = Class.forName("constructor1");
            Constructor ctorlist[] = cls.getDeclaredConstructors();
            for (int i = 0; i < ctorlist.length; i++) {
                Constructor ct = ctorlist[i];
                System.out.println("name = " + ct.getName());
                System.out.println("decl class = " + ct.getDeclaringClass());
                Class pvec[] = ct.getParameterTypes();
                for (int j = 0; j < pvec.length; j++)
                    System.out.println("param #" + j + " " + pvec[j]);
                Class evec[] = ct.getExceptionTypes();
                for (int j = 0; j < evec.length; j++)
                    System.out.println("exc #" + j + " " + evec[j]);
                System.out.println("-----");
            }
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


榪欎釜渚嬪瓙涓病鑳借幏寰楄繑鍥炵被鍨嬬殑鐩稿叧淇℃伅錛岄偅鏄洜涓烘瀯閫犲櫒娌℃湁榪斿洖綾誨瀷銆?br /> 榪欎釜紼嬪簭榪愯鐨勭粨鏋滄槸錛?br /> name = constructor1
decl class = class constructor1
-----
name = constructor1
decl class = class constructor1
param #0 int
param #1 double
-----

5.鑾峰彇綾葷殑瀛楁(鍩?
鎵懼嚭涓涓被涓畾涔変簡鍝簺鏁版嵁瀛楁涔熸槸鍙兘鐨勶紝涓嬮潰鐨勪唬鐮佸氨鍦ㄥ共榪欎釜浜嬫儏錛?br /> import java.lang.reflect.*;

public class field1 {
    private double d;
    public static final int i = 37;
    String s = "testing";

     public static void main(String args[]) {
        try {
            Class cls = Class.forName("field1");
            Field fieldlist[] = cls.getDeclaredFields();
            for (int i = 0; i < fieldlist.length; i++) {
                Field fld = fieldlist[i];
                System.out.println("name = " + fld.getName());
                System.out.println("decl class = " + fld.getDeclaringClass());
                System.out.println("type = " + fld.getType());
                int mod = fld.getModifiers();
                System.out.println("modifiers = " + Modifier.toString(mod));
                System.out.println("-----");
            }
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


榪欎釜渚嬪瓙鍜屽墠闈㈤偅涓緥瀛愰潪甯哥浉浼箋備緥涓嬌鐢ㄤ簡涓涓柊涓滆タ Modifier錛屽畠涔熸槸涓涓?reflection 綾伙紝鐢ㄦ潵鎻忚堪瀛楁鎴愬憳鐨勪慨楗拌錛屽“private int”銆傝繖浜涗慨楗拌鑷韓鐢辨暣鏁版弿榪幫紝鑰屼笖浣跨敤 Modifier.toString 鏉ヨ繑鍥炰互“瀹樻柟”欏哄簭鎺掑垪鐨勫瓧絎︿覆鎻忚堪 (濡?#8220;static”鍦?#8220;final”涔嬪墠)銆傝繖涓▼搴忕殑杈撳嚭鏄細
name = d
decl class = class field1
type = double
modifiers = private
-----
name = i
decl class = class field1
type = int
modifiers = public static final
-----
name = s
decl class = class field1
type = class java.lang.String
modifiers =
-----

鍜岃幏鍙栨柟娉曠殑鎯呭喌涓涓嬶紝鑾峰彇瀛楁鐨勬椂鍊欎篃鍙互鍙彇寰楀湪褰撳墠綾諱腑鐢蟲槑浜嗙殑瀛楁淇℃伅 (getDeclaredFields)錛屾垨鑰呬篃鍙互鍙栧緱鐖剁被涓畾涔夌殑瀛楁 (getFields) 銆?/p>

6.鏍規嵁鏂規硶鐨勫悕縐版潵鎵ц鏂規硶
鏂囨湰鍒拌繖閲岋紝鎵涓劇殑渚嬪瓙鏃犱竴渚嬪閮戒笌濡備綍鑾峰彇綾葷殑淇℃伅鏈夊叧銆傛垜浠篃鍙互鐢?reflection 鏉ュ仛涓浜涘叾瀹冪殑浜嬫儏錛屾瘮濡傛墽琛屼竴涓寚瀹氫簡鍚嶇О鐨勬柟娉曘備笅闈㈢殑紺轟緥婕旂ず浜嗚繖涓鎿嶄綔錛?br /> import java.lang.reflect.*;
public class method2 {
    public int add(int a, int b) {
        return a + b;
    }
    public static void main(String args[]) {
        try {
            Class cls = Class.forName("method2");
            Class partypes[] = new Class[2];
            partypes[0] = Integer.TYPE;
            partypes[1] = Integer.TYPE;
            Method meth = cls.getMethod("add", partypes);
            method2 methobj = new method2();
            Object arglist[] = new Object[2];
            arglist[0] = new Integer(37);
            arglist[1] = new Integer(47);
            Object retobj = meth.invoke(methobj, arglist);
            Integer retval = (Integer) retobj;
            System.out.println(retval.intValue());
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


鍋囧涓涓▼搴忓湪鎵ц鐨勬煇澶勭殑鏃跺欐墠鐭ラ亾闇瑕佹墽琛屾煇涓柟娉曪紝榪欎釜鏂規硶鐨勫悕縐版槸鍦ㄧ▼搴忕殑榪愯榪囩▼涓寚瀹氱殑 (渚嬪錛孞avaBean 寮鍙戠幆澧冧腑灝變細鍋氳繖鏍風殑浜?錛岄偅涔堜笂闈㈢殑紼嬪簭婕旂ず浜嗗浣曞仛鍒般?/p>


涓婁緥涓紝getMethod 鐢ㄤ簬鏌ユ壘涓涓叿鏈変袱涓暣鍨嬪弬鏁頒笖鍚嶄負 add 鐨勬柟娉曘傛壘鍒拌鏂規硶騫跺垱寤轟簡鐩稿簲鐨?Method 瀵硅薄涔嬪悗錛屽湪姝g‘鐨勫璞″疄渚嬩腑鎵ц瀹冦傛墽琛岃鏂規硶鐨勬椂鍊欙紝闇瑕佹彁渚涗竴涓弬鏁板垪琛紝榪欏湪涓婁緥涓槸鍒嗗埆鍖呰浜嗘暣鏁?37 鍜?47 鐨勪袱涓?Integer 瀵硅薄銆傛墽琛屾柟娉曠殑榪斿洖鐨勫悓鏍鋒槸涓涓?Integer 瀵硅薄錛屽畠灝佽浜嗚繑鍥炲?84銆?/p>


7.鍒涘緩鏂扮殑瀵硅薄
瀵逛簬鏋勯犲櫒錛屽垯涓嶈兘鍍忔墽琛屾柟娉曢偅鏍瘋繘琛岋紝鍥犱負鎵ц涓涓瀯閫犲櫒灝辨剰鍛崇潃鍒涘緩浜嗕竴涓柊鐨勫璞?(鍑嗙‘鐨勮錛屽垱寤轟竴涓璞$殑榪囩▼鍖呮嫭鍒嗛厤鍐呭瓨鍜屾瀯閫犲璞?銆傛墍浠ワ紝涓庝笂渚嬫渶鐩鎬技鐨勪緥瀛愬涓嬶細
import java.lang.reflect.*;
public class constructor2 {
    public constructor2() {
    }

    public constructor2(int a, int b) {
        System.out.println("a = " + a + " b = " + b);
    }

    public static void main(String args[]) {
        try {
            Class cls = Class.forName("constructor2");
            Class partypes[] = new Class[2];
            partypes[0] = Integer.TYPE;
            partypes[1] = Integer.TYPE;
            Constructor ct = cls.getConstructor(partypes);
            Object arglist[] = new Object[2];
            arglist[0] = new Integer(37);
            arglist[1] = new Integer(47);
            Object retobj = ct.newInstance(arglist);
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}

鏍規嵁鎸囧畾鐨勫弬鏁扮被鍨嬫壘鍒扮浉搴旂殑鏋勯犲嚱鏁板茍鎵ц瀹冿紝浠ュ垱寤轟竴涓柊鐨勫璞″疄渚嬨備嬌鐢ㄨ繖縐嶆柟娉曞彲浠ュ湪紼嬪簭榪愯鏃跺姩鎬佸湴鍒涘緩瀵硅薄錛岃屼笉鏄湪緙栬瘧鐨勬椂鍊欏垱寤哄璞★紝榪欎竴鐐歸潪甯告湁浠峰箋?/p>


8.鏀瑰彉瀛楁(鍩?鐨勫?br /> reflection 鐨勮繕鏈変竴涓敤澶勫氨鏄敼鍙樺璞℃暟鎹瓧孌電殑鍊箋俽eflection 鍙互浠庢鍦ㄨ繍琛岀殑紼嬪簭涓牴鎹悕縐版壘鍒板璞$殑瀛楁騫舵敼鍙樺畠錛屼笅闈㈢殑渚嬪瓙鍙互璇存槑榪欎竴鐐癸細
import java.lang.reflect.*;
public class field2 {
    public double d;
    public static void main(String args[]) {
        try {
            Class cls = Class.forName("field2");
            Field fld = cls.getField("d");
            field2 f2obj = new field2();
            System.out.println("d = " + f2obj.d);
            fld.setDouble(f2obj, 12.34);
            System.out.println("d = " + f2obj.d);
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


榪欎釜渚嬪瓙涓紝瀛楁 d 鐨勫艱鍙樹負浜?12.34銆?br /> 9.浣跨敤鏁扮粍
鏈枃浠嬬粛鐨?reflection 鐨勬渶鍚庝竴縐嶇敤娉曟槸鍒涘緩鐨勬搷浣滄暟緇勩傛暟緇勫湪 Java 璇█涓槸涓縐嶇壒孌婄殑綾葷被鍨嬶紝涓涓暟緇勭殑寮曠敤鍙互璧嬬粰 Object 寮曠敤銆傝瀵熶笅闈㈢殑渚嬪瓙鐪嬬湅鏁扮粍鏄庝箞宸ヤ綔鐨勶細
import java.lang.reflect.*;
public class array1 {
    public static void main(String args[]) {
        try {
            Class cls = Class.forName("java.lang.String");
            Object arr = Array.newInstance(cls, 10);
            Array.set(arr, 5, "this is a test");
            String s = (String) Array.get(arr, 5);
            System.out.println(s);
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}


渚嬩腑鍒涘緩浜?10 涓崟浣嶉暱搴︾殑 String 鏁扮粍錛屼負絎?5 涓綅緗殑瀛楃涓茶祴浜嗗鹼紝鏈鍚庡皢榪欎釜瀛楃涓蹭粠鏁扮粍涓彇寰楀茍鎵撳嵃浜嗗嚭鏉ャ?br />
涓嬮潰榪欐浠g爜鎻愪緵浜嗕竴涓洿澶嶆潅鐨勪緥瀛愶細
import java.lang.reflect.*;
public class array2 {
    public static void main(String args[]) {
        int dims[] = new int[]{5, 10, 15};
        Object arr = Array.newInstance(Integer.TYPE, dims);
        Object arrobj = Array.get(arr, 3);
        Class cls = arrobj.getClass().getComponentType();
        System.out.println(cls);
        arrobj = Array.get(arrobj, 5);
        Array.setInt(arrobj, 10, 37);
        int arrcast[][][] = (int[][][]) arr;
        System.out.println(arrcast[3][5][10]);
    }
}
渚嬩腑鍒涘緩浜嗕竴涓?5 x 10 x 15 鐨勬暣鍨嬫暟緇勶紝騫朵負澶勪簬 [3][5][10] 鐨勫厓绱犺祴浜嗗間負 37銆傛敞鎰忥紝澶氱淮鏁扮粍瀹為檯涓婂氨鏄暟緇勭殑鏁扮粍錛屼緥濡傦紝絎竴涓?Array.get 涔嬪悗錛宎rrobj 鏄竴涓?10 x 15 鐨勬暟緇勩傝繘鑰屽彇寰楀叾涓殑涓涓厓绱狅紝鍗抽暱搴︿負 15 鐨勬暟緇勶紝騫朵嬌鐢?Array.setInt 涓哄畠鐨勭 10 涓厓绱犺祴鍊箋?br />
娉ㄦ剰鍒涘緩鏁扮粍鏃剁殑綾誨瀷鏄姩鎬佺殑錛屽湪緙栬瘧鏃跺茍涓嶇煡閬撳叾綾誨瀷銆?/p>

鐏劙鍑烘灄 2008-03-27 17:35 鍙戣〃璇勮
]]>
婕暱鐨勯亾璺斺旇蛋鍚慗2EE http://m.tkk7.com/blameswood/articles/150442.html鐏劙鍑烘灄鐏劙鍑烘灄Thu, 04 Oct 2007 14:05:00 GMThttp://m.tkk7.com/blameswood/articles/150442.htmlhttp://m.tkk7.com/blameswood/comments/150442.htmlhttp://m.tkk7.com/blameswood/articles/150442.html#Feedback0http://m.tkk7.com/blameswood/comments/commentRss/150442.htmlhttp://m.tkk7.com/blameswood/services/trackbacks/150442.html鍒濇娑夊強Java棰嗗煙錛屾劅瑙夊埌Java鍏ラ棬鏄ソ鍍忔病鏈塁,C++鍏ラ棬蹇紝宸ュ叿涔熸病鏈変粈涔圱urbo C,Visual C++濂界敤錛堣嚜宸辯殑鐮存満鍣ㄥ疄鍦ㄩ櫔涓嶈搗JBuilder錛岃椽濠殑瀹朵紮錛屼互鍚庝竴瀹氳鏀舵嬀濂癸級銆備粈涔圝AVA_HOME,CLASSPATH錛岃櫄鎷熸満絳夋蹇甸兘鏄垵嬈″熀紜錛屾梺杈圭殑浜洪兘寰堝皯鐢?a >Java鐨勩傛劅瑙?a >Java灝辨槸鍋欰pplet鐨勩傛參鎱㈢殑鐭ラ亾浜?a >http://java.sun.com錛屽紑濮嬬煡閬?a >Java鍗氬ぇ綺炬繁銆傝鎴戜笉鍙濊鐨勬槸JAVA 2,JDK,J2SE,J2EE,J2ME絳夋柊鍚嶈瘝鍦ㄨ嚜宸辯殑鑴戞搗閲岃敁寤躲傛參鎱㈢殑鑷繁鐭ラ亾浜咼CP緇勭粐鏄埗瀹?a >Java鐩稿叧瑙勮寖鐨勫彂婧愬湴http://java.jcp.org ,浜庢槸璁㈤槄浜嗕竴浠介偖浠跺垪琛ㄣ傜湡鏄ソ涓滆タ鍟婏紝瀹氭湡鏈?a >Java鐨勬渶鏂板姩鍚戯紝鎵浠?a >Java鐨勫姩鎬佸敖鏀剁溂閲岋紝寤鴻澶у涔熷幓璁㈤槄涓浠姐傚厤璐圭殑銆傝嚜宸卞姩鎵嬩笅杞戒簡Java(TM) 2 SDK鍜?a >Java(TM) 2 SDK Documentation鍚?涓嶆噦鐨勫氨鏌?a >Java(TM) 2 SDK Documentation,鐗瑰埆濂界敤錛屼篃涓嶉渶瑕佷粈涔堟墜鍐屼箣綾葷殑錛屽緩璁ぇ瀹墮兘瑕佹湁涓浠姐?br />     鎼搗Java寮鍙戠幆澧冨悗錛岃寰楄繕鏄敤UltraEdit緙栬緫騫剁紪璇戠殑錛堝湪鍏朵腑鍙互閰嶅ソJava鐨勭紪璇戠幆澧冿級銆傛參鎱㈢殑鏀圭敤JCreator浜嗐備笉閿欙紝鑷沖皯寰堝鏂歸潰鏈夋敼榪涖傛渶寮濮嬪崠浜嗕竴濂?lt;Java 2鏍稿績鎶鏈?gt; 2鏈功錛岃繕涓嶉敊銆傚浜庡叆闂ㄦ潵璇磋凍澶熶簡銆傛參鎱㈢殑鐭ラ亾<Thinking in Java>鏄竴鏈ソ涔︼紝鍚庢潵鎵嶇煡閬擄紝鏈変簡Java緇忛獙鍚庯紝鐪嬭繖鏈功鐗瑰埆榪囩樉錛屾墍浠ョ幇鍦ㄨ繕緇忓父緲葷炕銆傚懆鑰屽濮嬬殑鐪嬶紝鏁堟灉鐗瑰埆濂姐傛參鎱㈢殑鐭ラ亾浜哋reilly鍏徃錛?a >http://www.oreilly.com錛夊嚭鐨勫浘涔︿笉閿欙紝寰堥珮闆咃紝鍥藉唴緲昏瘧鐨勪篃榪樺彲浠ワ紙http://www.oreilly.com.cn錛夈傛湰浜烘敹闆嗕簡寰堝Oreilly鐨勫師鐗堝浘涔︼紝鏈夐渶瑕佺殑鍙互鍜屾垜鑱旂郴錛圓crobat pdf鏍煎紡錛夈傛參鎱㈢煡閬撲簡jjhou榪欎釜浜?(http://jjhou.csdn.net )浠ュ強浠栫殑涓漢緗戠珯錛屾渶璁╂垜鎰熷叴瓚g殑鏄痡jhou鑰佸笀鍐欑殑鏁f枃錛屼功璇勶紝寰堟湁鏀惰幏錛屼笉鏄負鎶鏈屾妧鏈傚緢鏈夎叮鍛蟲с傚叾涓? http://www.epubcn.com 涓婃湁寰堝緹庝附鐨勫浘涔︺?br />     涓嶇煡閬撲粈涔堟椂鍊欙紝瑕佸紑濮嬪共欏圭洰浜嗭紝浠ュ墠浠庝功涓婄湅鍒扮殑涓滆タ錛屾參鎱㈢殑鍦ㄩ」鐩腑鏈変簡寰堝ソ鐨勬満浼氬幓娓╀範錛屾參鎱㈢殑鏈変簡鎰熻錛屽紑濮嬩富瑕佹槸鐢⊿wing,寮鍙戞闈㈢郴緇燂紝鏀劇疆涓涓寜閽庝箞涔熸斁涓嶅ソ錛屽悗鏉ユ墠鐭ラ亾鏈変竴涓竷灞綆$悊鍣ㄣ傚挸錛岃繖涓﹩濠嗙殑Java涔熻鍘岀殑寰堛傚紑濮嬫秹鍙婂埌鏁版嵁搴撹闂?JDBC銆傚悗鏉ユ垜鎵嶇煡閬擄紝Sun鐨?a >Java緗戠珯鏈変竴涓?a >Java Tutorial銆傦紙http://java.sun.com/docs/books/tutorial/ 錛夈傚悓鏃訛紝涔熺煡閬撲簡钄??鍏堢敓鐨剆leepless in java(http://www.oreilly.com.tw/sleepless/index.htm ),澶編浜嗭紝緹庣殑寰堛?婊℃弧鐨勶紝OReilly, http://www.onjava.com/ 涔熸槸涓嶉敊鐨勫湴鏂廣傞兘鏈夊緢澶氫紭縐鐨勬枃绔犮?a >http://www-900.ibm.com/developerWorks/cn/index.shtml錛屼篃寰堟銆?br />     姣忔錛岀編緹庣殑浜敤涓欏垮ぇ槨愬悗錛屼篃鏉ヤ篃瑙夊緱鑷繁鏄笉鏄簲璇ユ崲涓縐嶅涔犳柟寮忥紝鍥犱負榪欐牱瀛︿範鏁堟灉涓嶅お濂姐傛瘮杈冧貢銆傝鎴戞兂璧蜂簡Java Specification錛屽錛屾垜寮濮嬬爺絀?a >Java瑙勮寖浜嗐傛渶寮濮嬩笅杞界殑瑙勮寖鏄疛DBC Specification錛屽緢澶氭蹇典竴鐩簡鐒訛紝灝ゅ叾鏄疍ATABASE鐨勪簨鍔℃ф帶鍒訛紝鑷繁瀵逛簬濂圭殑鐞嗚В鎱㈡參鐨勬湁浜嗚緝涓烘繁鍏ョ殑浜嗚В銆傚浜庡紑鍙慍/S緇撴瀯錛屾瘮濡?Swing+JDBC,寮鍙戞暟鎹簱搴旂敤緋葷粺錛岃鎴戝浼氬紑鍙戜袱灞傜粨鏋勭殑搴旂敤緋葷粺銆傚緢紲炴皵銆?br />     涔熶笉鐭ラ亾浠涔堟椂鍊欒寮濮嬪紑鍙戜竴涓綉绔欙紝鍩轟簬Linux+JSP+JavaBean+Oracle鐨勭郴緇熴傚緢鏄湁鎰忔濄備負浠涔堣繖涔堣鍛紵鍥犱負涓嶅悓浜嶴wing+JDBC鐨勫紑鍙戞ā寮忥紝緋葷粺涔嬮棿澶氫簡涓灞?JavaBean,濮戜笖灝辮繖涔堝彨鍚э紒鍢誨樆)錛涘悓鏃訛紝寰堝寮鍙戞妧鏈拰闈㈠悜宸﹂潰緋葷粺涓嶄竴鏍鳳紝姣斿鍒嗛〉鎶鏈?br />     瀹屾垚欏圭洰鍚庯紝鑷繁瀵逛簬Java鐨勫緢澶氭柟闈㈤兘姣旇緝浜嗚В浜嗐傚紑濮嬫濊冧竴涓棶棰橈紝J2EE鏄粈涔堜笢瑗匡紵銆傛垜浠涔?a >Java澶ф鏈?涓柟鍚戯紝絎竴錛屾闈㈢郴緇燂紝鍖呮嫭C/S緇撴瀯錛涚浜岋紝J2ME,闈㈠悜鏃犻檺棰嗗煙錛屽緢鏈夋綔鍔涚殑瀹朵紮錛岀湅鐪嬩腑鍥界殑鎵嬫満鐢ㄦ埛灝辯煡閬撲簡銆傜涓夛紝闈㈠悜浼佷笟搴旂敤銆佽綆楃殑騫沖彴,J2EE.
    鍦ㄧ棝鑻︾殑鎶夋嫨鍚庯紝鎴戦夋嫨J2EE..鍒嗕韓J2EE緇欐垜甯︽潵鐨勫揩涔愩傚鍒扮幇鍦紝鏈澶х殑鎰熻錛屽氨鏄? 綆鍗曞氨鏄編錛岀編灝辨槸Java.涓嶄細鏈夊MFC鐨勭棝鑻︼紝涔熶笉浼氭湁鍘誨垎鏋怱TL鐨勮壈杈涳紝緗戣礬搴旂敤涓婁竴鐐逛篃涓嶉婅壊浜嶤++銆傚紑濮嬭繘鍏ユ垜鐨?a >J2EE涔嬫梾銆?br />     榪樻槸涓嬭澆浜嗕竴浠?a >J2EE瑙勮寖錛屼竴浠?a >J2EE SDK銆傚紑濮嬬爺絀?a >J2EE,緇撳悎http://java.sun.com/j2ee/tutorial/index.html 鎻愪緵鐨?a >J2EE Tutorial寮濮嬬爺絀朵簡銆傚ぇ姒傝繃浜?涓湀錛屽紑濮嬫湁鎰熻浜嗭紝涔熷氨鍦ㄨ繖涓椂鍊欙紝闇瑕佹垜鍘誨畬鎴愪竴涓?a >J2EE鏋勬灦鏂歸潰鐨勯」鐩傚樊涓嶅杈瑰緙栧啓瀹屾垚浜嗭紝寰堝姒傚康鍦ㄥ啓瀹屽悗閮戒笉鏄緢娓呮櫚錛屽洜涓轟笢瑗垮お澶氫簡錛屼富瑕佹槸鍩轟簬JSP(Servlet)+Session Bean+EIS鏋勬灦寮鍙戠郴緇熴傚綋鐒朵篃瀛﹀埌寰堝涓滆タ錛岃嚦灝戝SB  EJB鐨勭紪鍐欎笉鎴愰棶棰樸傛噦寰椾簡JSP濡備綍璋冪敤EJB……..
    瀹屾垚欏圭洰鍚庯紝鎴戝紑濮嬬爺絀?a >Java Pet Store浜嗭紝寰堟槸榪囩樉銆傚紑濮嬬煡閬撲簡Servlet榪囨護鍣紝XML鏂歸潰杈冧負鍏ㄩ潰鐨勭煡璇嗭紝鐭ラ亾浜?a >J2EE鏁翠釜妗嗘灦涓悇縐嶆妧鏈殑瀹為檯搴旂敤銆傛參鎱㈢殑錛屽紑濮嬬爺絀禬ebLogic閰嶇疆濂界殑Pet Store錛堜篃鏄疭un鍏徃鐨勶級銆傛參鎱㈢殑鍒嗘瀽涓よ呯殑涓嶅悓涔嬪銆傚紑濮嬪J2EE Specification鏈変簡寰堝ソ鐨勬劅瑙夈傚洜涓?a >J2EE Specification鏈韓鏄緢涓ヨ們鐨勶紝浣哖et Store緇欏嚭浜嗘椿鍔涖傚湪鍙嶅鐨勫涔犱腑錛屾垜鏄庣櫧浜?a >J2EE鏋勬灦鐨?0?D80%銆傛柊鐨勯棶棰樺張鍑烘潵浜嗭紝瀹為檯浼佷笟涓細濡備綍寤烘瀯涓涓?a >J2EE緋葷粺鍛紵甯︾潃榪欎釜闂錛屾垜寮濮嬪垎鏋怌ore J2EE Patterns,榪欐湰涔︺傚悓鏃訛紝涔熸湁EJB Design Patterns銆傛參鎱㈢殑錛屽紑濮嬬煡閬撲簡J2EE鐨勯瓍鍔涙墍鍦紝鐭ラ亾浜?a >J2EE涓轟粈涔堜細鍦ㄤ紒涓氫腑寰楀埌杈冧負濂界殑璁ゅ彲銆傚ぇ瀹墮兘鐭ラ亾錛岃璁℃ā寮忎竴璇嶏紝鍦ㄥ叕鍙鎬笂鐝紝浣犱滑鐨勮佹澘浼氱湅浣犵殑浠g爜鍚楋紵浼氳禐璧忎綘鐨凞P寰堝ソ鍚楋紝鎴戞兂寰堝皯銆傚湪瀹屾垚浣犵殑宸ヤ綔榪涘害涔嬩綑錛屽姞鐝紝鍔犵彮錛屽啀鍔犵彮錛屾垜鎯充綘娌℃湁鏇村鐨勬椂闂村幓鍒嗘瀽鐮旂┒DP.浣嗭紝J2EE妗嗘灦涓嶄竴鏍鳳紝濂瑰唴緗簡寰堝浼樼鐨勮璁℃ā寮忥紝鎴戜滑鍦ㄨ璁″紑鍙戙佹瀯鏋朵竴涓?a >J2EE緋葷粺涓敤鍒頒簡寰堝璁捐妯″紡銆傛瘮濡傦紝MVC,EJB涓皝瑁呯殑DAO璁捐妯″紡銆傛瀯鏋禞2E緋葷粺鐢⊿ession Façade,Message Façade璁捐妯″紡涔熶笉浼氬お鍥伴毦銆傝繖涔熸槸鍚庢潵J2EE鍚稿紩鎴戠殑鍦版柟銆傛參鎱㈢殑鎴戠煡閬撲簡錛屼綔涓轟竴涓?a >J2EE寮鍙戣咃紝鎴戜滑瑕佹帉鎻″叾涓殑鏍稿績鍐呭銆傛垜涓漢璁や負錛?鏂歸潰寰堥噸瑕併傚疄鏂紼JB緋葷粺甯哥敤鐨勬灦鏋勩佽璁℃ā寮忥紝姣斿session façade銆乵essage façade銆丏TO絳夈?a >J2EE緋葷粺鏋勬灦涓父鐢ㄧ殑妯″紡銆俇ML-> EJB,EJB->UML鐩鎬簰鏄犲皠銆傜幇鍦ㄤ篃涓鏍峰湪鐮旂┒銆?br />     鍠勪簬浜彈瀛ょ嫭錛屽垢濂借繕鏈?a >J2EE錛?/p>

鐏劙鍑烘灄 2007-10-04 22:05 鍙戣〃璇勮
]]>
涓ょJava瀹瑰櫒綾籐ist鍜孲et鍒嗘瀽姣旇緝 http://m.tkk7.com/blameswood/articles/150441.html鐏劙鍑烘灄鐏劙鍑烘灄Thu, 04 Oct 2007 14:04:00 GMThttp://m.tkk7.com/blameswood/articles/150441.htmlhttp://m.tkk7.com/blameswood/comments/150441.htmlhttp://m.tkk7.com/blameswood/articles/150441.html#Feedback0http://m.tkk7.com/blameswood/comments/commentRss/150441.htmlhttp://m.tkk7.com/blameswood/services/trackbacks/150441.html
銆銆Java2瀹瑰櫒綾葷被搴撶殑鐢ㄩ旀槸“淇濆瓨瀵硅薄”錛屽畠鍒嗕負涓ょ被錛?

銆銆Collection----涓緇勭嫭绔嬬殑鍏冪礌錛岄氬父榪欎簺鍏冪礌閮芥湇浠庢煇縐嶈鍒欍侺ist蹇呴』淇濇寔鍏冪礌鐗瑰畾鐨勯『搴忥紝鑰孲et涓嶈兘鏈夐噸澶嶅厓绱犮?

銆銆Map----涓緇勬垚瀵圭殑“閿煎”瀵硅薄錛屽嵆鍏跺厓绱犳槸鎴愬鐨勫璞★紝鏈鍏稿瀷鐨勫簲鐢ㄥ氨鏄暟鎹瓧鍏革紝騫朵笖榪樻湁鍏跺畠騫挎硾鐨勫簲鐢ㄣ傚彟澶栵紝Map鍙互榪斿洖鍏舵墍鏈夐敭緇勬垚鐨凷et鍜屽叾鎵鏈夊肩粍鎴愮殑Collection錛屾垨鍏墮敭鍊煎緇勬垚鐨凷et錛屽茍涓旇繕鍙互鍍忔暟緇勪竴鏍鋒墿灞曞緇碝ap錛屽彧瑕佽Map涓敭鍊煎鐨勬瘡涓?#8220;鍊?#8221;鏄竴涓狹ap鍗沖彲銆?

銆銆1.榪唬鍣?

銆銆榪唬鍣ㄦ槸涓縐嶈璁℃ā寮忥紝瀹冩槸涓涓璞★紝瀹冨彲浠ラ亶鍘嗗茍閫夋嫨搴忓垪涓殑瀵硅薄錛岃屽紑鍙戜漢鍛樹笉闇瑕佷簡瑙h搴忓垪鐨勫簳灞傜粨鏋勩傝凱浠e櫒閫氬父琚О涓?#8220;杞婚噺綰?#8221;瀵硅薄錛屽洜涓哄垱寤哄畠鐨勪唬浠峰皬銆?

銆銆Java涓殑Iterator鍔熻兘姣旇緝綆鍗曪紝騫朵笖鍙兘鍗曞悜縐誨姩錛?

銆銆(1) 浣跨敤鏂規硶iterator()瑕佹眰瀹瑰櫒榪斿洖涓涓狪terator銆傜涓嬈¤皟鐢↖terator鐨刵ext()鏂規硶鏃訛紝瀹冭繑鍥炲簭鍒楃殑絎竴涓厓绱犮?

銆銆(2) 浣跨敤next()鑾峰緱搴忓垪涓殑涓嬩竴涓厓绱犮?

銆銆(3) 浣跨敤hasNext()媯鏌ュ簭鍒椾腑鏄惁榪樻湁鍏冪礌銆?

銆銆(4) 浣跨敤remove()灝嗚凱浠e櫒鏂拌繑鍥炵殑鍏冪礌鍒犻櫎銆?

銆銆Iterator鏄疛ava榪唬鍣ㄦ渶綆鍗曠殑瀹炵幇錛屼負List璁捐鐨凩istIterator鍏鋒湁鏇村鐨勫姛鑳斤紝瀹冨彲浠ヤ粠涓や釜鏂瑰悜閬嶅巻List錛屼篃鍙互浠嶭ist涓彃鍏ュ拰鍒犻櫎鍏冪礌銆?

銆銆2.List鐨勫姛鑳芥柟娉?

銆銆List(interface): 嬈″簭鏄疞ist鏈閲嶈鐨勭壒鐐癸紱瀹冪‘淇濈淮鎶ゅ厓绱犵壒瀹氱殑欏哄簭銆侺ist涓篊ollection娣誨姞浜嗚澶氭柟娉曪紝浣垮緱鑳藉鍚慙ist涓棿鎻掑叆涓庣Щ闄ゅ厓绱?鍙帹鑽怢inkedList浣跨敤)銆備竴涓狶ist鍙互鐢熸垚ListIterator錛屼嬌鐢ㄥ畠鍙互浠庝袱涓柟鍚戦亶鍘哃ist錛屼篃鍙互浠嶭ist涓棿鎻掑叆鍜屽垹闄ゅ厓绱犮?
ArrayList: 鐢辨暟緇勫疄鐜扮殑List銆傚畠鍏佽瀵瑰厓绱犺繘琛屽揩閫熼殢鏈鴻闂紝浣嗘槸鍚慙ist涓棿鎻掑叆涓庣Щ闄ゅ厓绱犵殑閫熷害寰堟參銆侺istIterator鍙簲璇ョ敤鏉ョ敱鍚庡悜鍓嶉亶鍘咥rrayList錛岃屼笉鏄敤鏉ユ彃鍏ュ拰鍒犻櫎鍏冪礌錛屽洜涓鴻繖姣擫inkedList寮閿瑕佸ぇ寰堝銆?

銆銆LinkedList: 瀵歸『搴忚闂繘琛屼簡浼樺寲錛屽悜List涓棿鎻掑叆涓庡垹闄ゅ緱寮閿涓嶅ぇ錛岄殢鏈鴻闂垯鐩稿杈冩參(鍙敤ArrayList浠f浛)銆傚畠鍏鋒湁鏂規硶addFirst()銆乤ddLast()銆乬etFirst()銆乬etLast()銆乺emoveFirst()銆乺emoveLast()錛岃繖浜涙柟娉?娌℃湁鍦ㄤ換浣曟帴鍙f垨鍩虹被涓畾涔夎繃)浣垮緱LinkedList鍙互褰撲綔鍫嗘爤銆侀槦鍒楀拰鍙屽悜闃熷垪浣跨敤銆?

銆銆3.Set鐨勫姛鑳芥柟娉?

銆銆Set(interface): 瀛樺叆Set鐨勬瘡涓厓绱犲繀欏繪槸鍞竴鐨勶紝鍥犱負Set涓嶄繚瀛橀噸澶嶅厓绱犮傚姞鍏et鐨凮bject蹇呴』瀹氫箟equals()鏂規硶浠ョ‘淇濆璞$殑鍞竴鎬с係et涓嶤ollection鏈夊畬鍏ㄤ竴鏍風殑鎺ュ彛銆係et鎺ュ彛涓嶄繚璇佺淮鎶ゅ厓绱犵殑嬈″簭銆?

銆銆HashSet: 涓哄揩閫熸煡鎵捐岃璁$殑Set銆傚瓨鍏ashSet鐨勫璞″繀欏誨畾涔塰ashCode()銆?

銆銆TreeSet: 淇濇寔嬈″簭鐨凷et錛屽簳灞備負鏍戠粨鏋勩備嬌鐢ㄥ畠鍙互浠嶴et涓彁鍙栨湁搴忕殑搴忓垪銆?

銆銆LinkedHashSet: 鍏鋒湁HashSet鐨勬煡璇㈤熷害錛屼笖鍐呴儴浣跨敤閾捐〃緇存姢鍏冪礌鐨勯『搴?鎻掑叆鐨勬搴?銆備簬鏄湪浣跨敤榪唬鍣ㄩ亶鍘哠et鏃訛紝緇撴灉浼氭寜鍏冪礌鎻掑叆鐨勬搴忔樉紺恒?

銆銆HashSet閲囩敤鏁e垪鍑芥暟瀵瑰厓绱犺繘琛屾帓搴忥紝榪欐槸涓撻棬涓哄揩閫熸煡璇㈣岃璁$殑錛汿reeSet閲囩敤綰㈤粦鏍戠殑鏁版嵁緇撴瀯榪涜鎺掑簭鍏冪礌錛汱inkedHashSet鍐呴儴浣跨敤鏁e垪浠ュ姞蹇煡璇㈤熷害錛屽悓鏃朵嬌鐢ㄩ摼琛ㄧ淮鎶ゅ厓绱犵殑嬈″簭錛屼嬌寰楃湅璧鋒潵鍏冪礌鏄互鎻掑叆鐨勯『搴忎繚瀛樼殑銆傞渶瑕佹敞鎰忕殑鏄紝鐢熸垚鑷繁鐨勭被鏃訛紝Set闇瑕佺淮鎶ゅ厓绱犵殑瀛樺偍欏哄簭錛屽洜姝よ瀹炵幇Comparable鎺ュ彛騫跺畾涔塩ompareTo()鏂規硶銆?

鐏劙鍑烘灄 2007-10-04 22:04 鍙戣〃璇勮
]]>
璋堣皥Java闆嗗悎妗嗘灦 http://m.tkk7.com/blameswood/articles/150440.html鐏劙鍑烘灄鐏劙鍑烘灄Thu, 04 Oct 2007 14:03:00 GMThttp://m.tkk7.com/blameswood/articles/150440.htmlhttp://m.tkk7.com/blameswood/comments/150440.htmlhttp://m.tkk7.com/blameswood/articles/150440.html#Feedback0http://m.tkk7.com/blameswood/comments/commentRss/150440.htmlhttp://m.tkk7.com/blameswood/services/trackbacks/150440.htmlJava鎻愪緵浜嗘暟縐嶆寔鏈夊璞$殑鏂瑰紡錛屽寘鎷璦鍐呯疆鐨凙rray錛岃繕鏈夊氨鏄痷tilities涓彁渚涚殑瀹瑰櫒綾?container classes)錛屽張縐扮兢闆嗙被(collection classes)銆傞泦鍚堝湪java涓潪甯擱噸瑕侊紝鍦ㄨ璁轟箣鍓嶏紝鍏堟潵鐪嬪嚑涓潰璇曚腑鐨勭粡鍏擱棶棰樸?O:P>

1 Collection 鍜?Collections鐨勫尯鍒?O:P>

2 List, Set, Map鏄惁緇ф壙鑷狢ollection鎺ュ彛銆?O:P>

3 ArrayList鍜孷ector鐨勫尯鍒?O:P>

4 HashMap鍜孒ashtable鐨勫尯鍒?O:P>

綃囧熬鏈夌瓟妗堬紝鎴戜滑寮濮嬫棰樸?O:P>

 

闆嗗悎Collection鎺ュ彛

--Collection 鏄換浣曞璞$粍錛屽厓绱犲悇鑷嫭绔嬶紝閫氬父鎷ユ湁鐩稿悓鐨勫鐢ㄨ鍒欍係et List鐢卞畠媧劇敓銆?br /> 鍩烘湰鎿嶄綔  澧炲姞鍏冪礌add(Object obj); addAll(Collection c);

鍒犻櫎鍏冪礌 remove(Object obj);  removeAll(Collection c);

姹備氦闆?retainAll(Collection c);

 

璁塊棶/閬嶅巻闆嗗悎鍏冪礌鐨勫ソ鍔炴硶鏄嬌鐢↖terator鎺ュ彛(榪唬鍣ㄧ敤浜庡彇浠numeration)

Public interface Iterator{

  Public Boolean hasNext(0;

Public Object next(0;

Public void remove(0;

}

 

闆唖et

--娌℃湁閲嶅欏圭洰鐨勯泦鍚?O:P>

鏈変笁縐嶇壒瀹氱被鍨嬬殑闆嗗彲鐢?O:P>

HashSet-鍩轟簬鏁e垪琛ㄧ殑闆嗭紝鍔犺繘鏁e垪琛ㄧ殑鍏冪礌瑕佸疄鐜癶ashCode()鏂規硶

LinkedHashSet-瀵歸泦榪唬鏃訛紝鎸夊鍔犻『搴忚繑鍥炲厓绱?O:P>

TreeSet-鍩轟簬錛堝鉤琛★級鏍戠殑鏁版嵁緇撴瀯

 

娓呭崟List

--浣嶇疆鎬ч泦鍚堛傚姞榪涙竻鍗曠殑鍏冪礌鍙互鍔犲湪娓呭崟涓壒瀹氫綅緗垨鍔犲埌鏈熬

鏈変袱涓壒瀹氱増鏈?O:P>

ArrayList(鏁扮粍琛?-綾諱技浜嶸ector錛岄兘鐢ㄤ簬緙╂斁鏁扮粍緇存姢闆嗗悎銆傚尯鍒細

涓.鍚屾鎬?Vector鏄嚎紼?a title="緗戠粶瀹夊叏璧勮" target="_blank">瀹夊叏鐨勶紝涔熷氨鏄鏄悓姝ョ殑錛岃孉rrayList鏄嚎紼嬪簭涓嶅畨鍏ㄧ殑錛屼笉鏄悓姝ョ殑 

瀛﹂泦鍚堝叾瀹炴槸鍥犱負鎴戣鐮旂┒娉涘瀷錛岃嫤浜庝綔涓哄墠鎻愮殑闆嗗悎榪樻病瀛︽噦錛屾墍浠ュ氨鍏堟潵鎼炴悶瀹冨惂銆?!-- target="_blank" title="XML瀛︿範鏁欑▼-->XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

 

Java鎻愪緵浜嗘暟縐嶆寔鏈夊璞$殑鏂瑰紡錛屽寘鎷璦鍐呯疆鐨凙rray錛岃繕鏈夊氨鏄痷tilities涓彁渚涚殑瀹瑰櫒綾?container classes)錛屽張縐扮兢闆嗙被(collection classes)銆傞泦鍚堝湪java涓潪甯擱噸瑕侊紝鍦ㄨ璁轟箣鍓嶏紝鍏堟潵鐪嬪嚑涓潰璇曚腑鐨勭粡鍏擱棶棰樸?O:P>

1 Collection 鍜?Collections鐨勫尯鍒?O:P>

2 List, Set, Map鏄惁緇ф壙鑷狢ollection鎺ュ彛銆?O:P>

3 ArrayList鍜孷ector鐨勫尯鍒?O:P>

4 HashMap鍜孒ashtable鐨勫尯鍒?O:P>

綃囧熬鏈夌瓟妗堬紝鎴戜滑寮濮嬫棰樸?O:P>

 

闆嗗悎Collection鎺ュ彛

--Collection 鏄換浣曞璞$粍錛屽厓绱犲悇鑷嫭绔嬶紝閫氬父鎷ユ湁鐩稿悓鐨勫鐢ㄨ鍒欍係et List鐢卞畠媧劇敓銆?br /> 鍩烘湰鎿嶄綔  澧炲姞鍏冪礌add(Object obj); addAll(Collection c);

鍒犻櫎鍏冪礌 remove(Object obj);  removeAll(Collection c);

姹備氦闆?retainAll(Collection c);

 

璁塊棶/閬嶅巻闆嗗悎鍏冪礌鐨勫ソ鍔炴硶鏄嬌鐢↖terator鎺ュ彛(榪唬鍣ㄧ敤浜庡彇浠numeration)

Public interface Iterator{

  Public Boolean hasNext(0;

Public Object next(0;

Public void remove(0;

}

 

闆唖et

--娌℃湁閲嶅欏圭洰鐨勯泦鍚?O:P>

鏈変笁縐嶇壒瀹氱被鍨嬬殑闆嗗彲鐢?O:P>

HashSet-鍩轟簬鏁e垪琛ㄧ殑闆嗭紝鍔犺繘鏁e垪琛ㄧ殑鍏冪礌瑕佸疄鐜癶ashCode()鏂規硶

LinkedHashSet-瀵歸泦榪唬鏃訛紝鎸夊鍔犻『搴忚繑鍥炲厓绱?O:P>

TreeSet-鍩轟簬錛堝鉤琛★級鏍戠殑鏁版嵁緇撴瀯

 

娓呭崟List

--浣嶇疆鎬ч泦鍚堛傚姞榪涙竻鍗曠殑鍏冪礌鍙互鍔犲湪娓呭崟涓壒瀹氫綅緗垨鍔犲埌鏈熬

鏈変袱涓壒瀹氱増鏈?O:P>

ArrayList(鏁扮粍琛?-綾諱技浜嶸ector錛岄兘鐢ㄤ簬緙╂斁鏁扮粍緇存姢闆嗗悎銆傚尯鍒細

涓.鍚屾鎬?Vector鏄嚎紼?a title="緗戠粶瀹夊叏璧勮" target="_blank">瀹夊叏鐨勶紝涔熷氨鏄鏄悓姝ョ殑錛岃孉rrayList鏄嚎紼嬪簭涓嶅畨鍏ㄧ殑錛屼笉鏄悓姝ョ殑 

瀛﹂泦鍚堝叾瀹炴槸鍥犱負鎴戣鐮旂┒娉涘瀷錛岃嫤浜庝綔涓哄墠鎻愮殑闆嗗悎榪樻病瀛︽噦錛屾墍浠ュ氨鍏堟潵鎼炴悶瀹冨惂銆?!-- target="_blank" title="XML瀛︿範鏁欑▼-->XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

 

Java鎻愪緵浜嗘暟縐嶆寔鏈夊璞$殑鏂瑰紡錛屽寘鎷璦鍐呯疆鐨凙rray錛岃繕鏈夊氨鏄痷tilities涓彁渚涚殑瀹瑰櫒綾?container classes)錛屽張縐扮兢闆嗙被(collection classes)銆傞泦鍚堝湪java涓潪甯擱噸瑕侊紝鍦ㄨ璁轟箣鍓嶏紝鍏堟潵鐪嬪嚑涓潰璇曚腑鐨勭粡鍏擱棶棰樸?O:P>

1 Collection 鍜?Collections鐨勫尯鍒?O:P>

2 List, Set, Map鏄惁緇ф壙鑷狢ollection鎺ュ彛銆?O:P>

3 ArrayList鍜孷ector鐨勫尯鍒?O:P>

4 HashMap鍜孒ashtable鐨勫尯鍒?O:P>

綃囧熬鏈夌瓟妗堬紝鎴戜滑寮濮嬫棰樸?O:P>

 

闆嗗悎Collection鎺ュ彛

--Collection 鏄換浣曞璞$粍錛屽厓绱犲悇鑷嫭绔嬶紝閫氬父鎷ユ湁鐩稿悓鐨勫鐢ㄨ鍒欍係et List鐢卞畠媧劇敓銆?br /> 鍩烘湰鎿嶄綔  澧炲姞鍏冪礌add(Object obj); addAll(Collection c);

鍒犻櫎鍏冪礌 remove(Object obj);  removeAll(Collection c);

姹備氦闆?retainAll(Collection c);

 

璁塊棶/閬嶅巻闆嗗悎鍏冪礌鐨勫ソ鍔炴硶鏄嬌鐢↖terator鎺ュ彛(榪唬鍣ㄧ敤浜庡彇浠numeration)

Public interface Iterator{

  Public Boolean hasNext(0;

Public Object next(0;

Public void remove(0;

}

 

闆唖et

--娌℃湁閲嶅欏圭洰鐨勯泦鍚?O:P>

鏈変笁縐嶇壒瀹氱被鍨嬬殑闆嗗彲鐢?O:P>

HashSet-鍩轟簬鏁e垪琛ㄧ殑闆嗭紝鍔犺繘鏁e垪琛ㄧ殑鍏冪礌瑕佸疄鐜癶ashCode()鏂規硶

LinkedHashSet-瀵歸泦榪唬鏃訛紝鎸夊鍔犻『搴忚繑鍥炲厓绱?O:P>

TreeSet-鍩轟簬錛堝鉤琛★級鏍戠殑鏁版嵁緇撴瀯

 

娓呭崟List

--浣嶇疆鎬ч泦鍚堛傚姞榪涙竻鍗曠殑鍏冪礌鍙互鍔犲湪娓呭崟涓壒瀹氫綅緗垨鍔犲埌鏈熬

鏈変袱涓壒瀹氱増鏈?O:P>

ArrayList(鏁扮粍琛?-綾諱技浜嶸ector錛岄兘鐢ㄤ簬緙╂斁鏁扮粍緇存姢闆嗗悎銆傚尯鍒細

涓.鍚屾鎬?Vector鏄嚎紼?a title="緗戠粶瀹夊叏璧勮" target="_blank">瀹夊叏鐨勶紝涔熷氨鏄鏄悓姝ョ殑錛岃孉rrayList鏄嚎紼嬪簭涓嶅畨鍏ㄧ殑錛屼笉鏄悓姝ョ殑 

浜?鏁版嵁澧為暱:褰撻渶瑕佸闀挎椂,Vector榛樿澧為暱涓哄師鏉ヤ竴鍩癸紝鑰孉rrayList鍗存槸鍘熸潵鐨勪竴鍗?O:P>

 

HashMap鍜孒ashtable鐨勫尯鍒?nbsp;

涓.鍘嗗彶鍘熷洜:Hashtable鏄熀浜庨檲鏃х殑Dictionary綾葷殑錛孒ashMap鏄疛ava 1.2寮曡繘鐨凪ap鎺ュ彛鐨勪竴涓疄鐜?nbsp;

浜?鍚屾鎬?Hashtable鏄嚎紼嬪畨鍏ㄧ殑錛屼篃灝辨槸璇存槸鍚屾鐨勶紝鑰孒ashMap鏄嚎紼嬪簭涓嶅畨鍏ㄧ殑錛屼笉鏄悓姝ョ殑 

涓?鍊鹼細鍙湁HashMap鍙互璁╀綘灝嗙┖鍊間綔涓轟竴涓〃鐨勬潯鐩殑key鎴杤alue 
鍙傝冦奙astering Java2 J2SE1.4 銆婤y Zukowshi   銆奣hinking in Java銆婤y BrUCe Eckel



鐏劙鍑烘灄 2007-10-04 22:03 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 中文字幕亚洲一区二区三区| 成人免费看片又大又黄| 亚洲中文字幕成人在线| 精品视频免费在线| 国产在线观看免费不卡| 亚洲av永久无码一区二区三区| 免费做爰猛烈吃奶摸视频在线观看| 亚洲国产成人精品青青草原| 57PAO成人国产永久免费视频| 亚洲中文字幕无码av在线| 香蕉97超级碰碰碰免费公| 久久综合久久综合亚洲| 国外成人免费高清激情视频| 国产亚洲综合一区二区三区| 免费在线观看理论片| 丁香花在线视频观看免费| 亚洲国产成人久久精品动漫| 国产免费的野战视频| 亚洲综合激情五月丁香六月| 免费看国产一级片| 成人A毛片免费观看网站| 亚洲视频在线观看| 成年女人视频网站免费m| 国产成人+综合亚洲+天堂| 亚洲线精品一区二区三区影音先锋| 久久精品一区二区免费看| 亚洲国产日韩女人aaaaaa毛片在线 | 亚洲精品视频久久久| 国产免费AV片在线观看| 亚洲成a人不卡在线观看| 国产成人免费全部网站| a高清免费毛片久久| 亚洲av伊人久久综合密臀性色 | 亚洲综合自拍成人| 男人的好免费观看在线视频| 一级特级女人18毛片免费视频| 亚洲av永久无码精品古装片| 午夜一级毛片免费视频| 久久精品免费观看| 亚洲中文字幕一二三四区| 精品国产_亚洲人成在线高清|