当前位置:编程学习 > JAVA >>

java涓殑娉涘瀷 姹傝缁嗚В閲?- 宸茶В鍐?- 鎼滄悳闂棶

答案:1銆丣ava娉涘瀷
鍏跺疄Java鐨勬硾鍨嬪氨鏄垱寤轰竴涓敤绫诲瀷浣滀负鍙傛暟鐨勭被銆傚氨璞℃垜浠啓绫荤殑鏂规硶涓€鏍凤紝鏂规硶鏄繖鏍风殑method(String str1,String str2 ),鏂规硶涓弬鏁皊tr1銆乻tr2鐨勫€兼槸鍙彉鐨勩€傝€屾硾鍨嬩篃鏄竴鏍风殑锛岃繖鏍峰啓class Java_Generics锛淜,V锛烇紝杩欓噷杈圭殑K鍜孷灏辫薄鏂规硶涓殑鍙傛暟str1鍜宻tr2,涔熸槸鍙彉銆備笅闈㈢湅鐪嬩緥瀛愶細
//code list 1
import Java.util.Hashtable;
class TestGen0锛淜,V锛瀧
銆€public Hashtable锛淜,V锛?h=new Hashtable锛淜,V锛?);
銆€public void put(K k, V v) {
   h.put(k,v);
銆€}
銆€public V get(K k) {
   return h.get(k);
銆€}
銆€public static void main(String args[]){
   TestGen0锛淪tring,String锛?t=new TestGen0锛淪tring,String锛?);
   t.put("key", "value");
   String s=t.get("key");
   System.out.println(s);
銆€}
}
姝g‘杈撳嚭:value
杩欏彧鏄釜渚嬪瓙锛圝ava涓泦鍚堟鏋堕兘娉涘瀷鍖栦簡锛岃繖閲岃垂浜?閬嶄簨.锛夛紝涓嶈繃鐪嬬湅鏄笉鏄垱寤轰竴涓敤绫诲瀷浣滀负鍙傛暟鐨勭被锛屽弬鏁版槸K锛孷锛屼紶鍏ョ殑鈥滃€尖€濇槸String绫诲瀷銆傝繖涓被浠栨病鏈夌壒瀹氱殑寰呭鐞嗗瀷鍒紝浠ュ墠鎴戜滑瀹氫箟濂戒簡涓€涓被锛屽湪杈撳叆杈撳叆鍙傛暟鏈夋墍鍥哄畾锛屾槸浠€涔堝瀷鍒殑鏈夎姹傦紝浣嗘槸鐜板湪缂栧啓绋嬪簭锛屽畬鍏ㄥ彲浠ヤ笉鍒跺畾鍙傛暟鐨勭被鍨嬶紝鍏蜂綋鐢ㄧ殑鏃跺€欐潵纭畾锛屽鍔犱簡绋嬪簭鐨勯€氱敤鎬э紝鍍忔槸涓€涓ā鏉裤€?br>鍛靛懙锛岀被浼糃++鐨勬ā鏉匡紙绫讳技锛夈€?
1.1. 娉涘瀷閫氶厤绗?
涓嬮潰鎴戜滑鍏堢湅鐪嬭繖浜涚▼搴忥細
//Code list 2
void TestGen0Medthod1(List l) {
銆€for (Object o : l)
   System.out.println(o);
}
鐪嬬湅杩欎釜鏂规硶鏈夋病鏈夊紓璁紝杩欎釜鏂规硶浼氶€氳繃缂栬瘧鐨勶紝鍋囧浣犱紶鍏tring锛屽氨鏄繖鏍稬ist锛淪tring锛炪€?br>鎺ョ潃鎴戜滑璋冪敤瀹?闂灏卞嚭鐜颁簡锛屾垜浠皢涓€涓狶ist锛淪tring锛炲綋浣淟ist浼犵粰浜嗘柟娉曪紝JVM浼氱粰鎴戜滑涓€涓鍛婏紝璇磋繖涓牬鍧忎簡绫诲瀷瀹夊叏锛屽洜涓轰粠List涓繑鍥炵殑閮芥槸Object绫诲瀷鐨勶紝鑰岃鎴戜滑鍐嶇湅鐪嬩笅闈㈢殑鏂规硶銆?
//Code list 3
void TestGen0Medthod1(List锛淪tring锛?l) {
銆€for (Object o : l)
   System.out.println(o);
}
鍥犱负杩欓噷鐨凩ist锛淪tring锛炰笉鏄疞ist锛淥bject锛炵殑瀛愮被,涓嶆槸String涓嶰bject鐨勫叧绯伙紝灏辨槸璇碙ist锛淪tring锛炰笉闅跺睘浜巐ist锛淥bject锛?浠栦滑涓嶆槸缁ф壙鍏崇郴锛屾墍浠ユ槸涓嶈鐨勶紝杩欓噷鐨別xtends鏄〃绀洪檺鍒剁殑銆?
绫诲瀷閫氶厤绗︽槸寰堢濂囩殑锛孡ist锛?锛炶繖涓綘鑳戒负浠栧仛浠€涔堝憿?鎬庝箞閮芥槸鈥滐紵鈥濓紝瀹冧技涔庝笉纭畾锛屼粬鎬讳笉鑳借繑鍥炰竴涓紵浣滀负绫诲瀷鐨勬暟鎹惂锛屾槸鍟婁粬鏄笉浼氳繑鍥炰竴涓€滐紵鈥濇潵闂▼搴忓憳鐨勶紵JVM浼氬仛绠€鍗曠殑鎬濊€冪殑锛岀湅鐪嬩唬鐮佸惂锛屾洿鐩磋浜涖€?
//code list 4
List锛淪tring锛?l1 = new ArrayList锛淪tring锛?);
li.add(鈥淪tring鈥?;
List锛?锛?l2 = l1;
System.out.println(l1.get(0));
杩欐浠g爜娌¢棶棰樼殑锛宭1.get(0)灏嗚繑鍥炰竴涓狾bject銆?
銆€銆€1.2. 缂栧啓娉涘瀷绫昏娉ㄦ剰锛?
1) 鍦ㄥ畾涔変竴涓硾鍨嬬被鐨勬椂鍊欙紝鍦?鈥滐紲锛炩€濅箣闂村畾涔夊舰寮忕被鍨嬪弬鏁帮紝渚嬪锛氣€渃lass TestGen锛淜,V锛炩€濓紝鍏朵腑鈥淜鈥?, 鈥淰鈥濅笉浠h〃鍊硷紝鑰屾槸琛ㄧず绫诲瀷銆?
2) 瀹炰緥鍖栨硾鍨嬪璞$殑鏃跺€欙紝涓€瀹氳鍦ㄧ被鍚嶅悗闈㈡寚瀹氱被鍨嬪弬鏁扮殑鍊硷紙绫诲瀷锛夛紝涓€鍏辫鏈変袱娆′功鍐欍€備緥濡傦細
TestGen锛淪tring,String锛?t=new TestGen锛淪tring,String锛?)锛?
3) 娉涘瀷涓紲K extends Object锛?extends骞朵笉浠h〃缁ф壙锛屽畠鏄被鍨嬭寖鍥撮檺鍒躲€?
2銆佹硾鍨嬩笌鏁版嵁绫诲瀷杞崲
2.1. 娑堥櫎绫诲瀷杞崲
涓婇潰鐨勪緥瀛愬ぇ瀹剁湅鍒颁粈涔堜簡锛屾暟鎹被鍨嬭浆鎹㈢殑浠g爜涓嶈浜嗐€傚湪浠ュ墠鎴戜滑缁忓父瑕佷功鍐欎互涓嬩唬鐮侊紝濡傦細
//code list 5
import Java.util.Hashtable;
class Test {
銆€public static void main(String[] args) {
   Hashtable h = new Hashtable();
   h.put("key", "value");
   String s = (String)h.get("key");
   System.out.println(s);
銆€}
}
杩欎釜鎴戜滑鍋氫簡绫诲瀷杞崲锛屾槸涓嶆槸鎰熻寰堢儲鐨勶紝骞朵笖寮哄埗绫诲瀷杞崲浼氬甫鏉ユ綔鍦ㄧ殑鍗遍櫓锛岀郴缁熷彲鑳戒細鎶涗竴涓狢lassCastException寮傚父淇℃伅銆傚湪JDK5.0涓垜浠畬鍏ㄥ彲浠ヨ繖涔堝仛锛屽锛?
//code list 6
import Java.util.Hashtable;
class Test {
銆€public static void main(String[] args) {
   Hashtable锛淪tring,Integer锛?h = new Hashtable锛淪tring,Integer锛?();
   h.put("key", new Integer(123));
   int s = h.get("key").intValue();
   System.out.println(s);
銆€}
}
杩欓噷鎴戜滑浣跨敤娉涘寲鐗堟湰鐨凥ashMap,杩欐牱灏变笉鐢ㄦ垜浠潵缂栧啓绫诲瀷杞崲鐨勪唬鐮佷簡锛岀被鍨嬭浆鎹㈢殑杩囩▼浜ょ粰缂栬瘧鍣ㄦ潵澶勭悊锛屾槸涓嶆槸寰堟柟渚匡紝鑰屼笖寰堝畨鍏ㄣ€備笂闈㈡槸String鏄犲皠鍒癝tring锛屼篃鍙互灏咺nteger鏄犲皠涓篠tring锛屽彧瑕佸啓鎴怘ashTable锛淚nteger,String锛?h=new HashTable锛淚nteger,String锛?);h.get(new Integer(0))杩斿洖value銆傛灉鐒跺緢鏂逛究銆?
娉涘瀷锛屽嵆閫氳繃鍙傛暟鍖栫被鍨嬫潵瀹炵幇鍚屼竴浠戒唬鐮佷笂鎿嶄綔澶氱鏁版嵁绫诲瀷銆備娇浠g爜鏇村己鐨勭被鍨嬪畨鍏紝鏇村ソ鐨勫鐢紝鏇撮珮鐨勬晥鐜囷紝鏇存竻鏅扮殑绾︽潫
姣斿List鍚э紝浣犲彲浠ュ瓨鏀剧殑绫诲瀷鏄痮bject锛屽鏋滀綘鍐欐垚List<String>锛岄偅灏辨槸瀛樻斁String绫诲瀷鐨勬暟鎹€傛垜鐜板湪灏辨槸杩欐牱鍘荤悊瑙g殑
娉涘瀷鏄疛DK1.5鎵嶆敮鎸佺殑 灏辨槸涓轰簡鏇村ソ鐨勫疄鐜板鍙?浠ュ墠閮芥槸鐢∣bject 浣滀负鍙傛暟 鐜板湪鐢ㄤ簡娉涘瀷 绠$悊璧锋潵灏辨洿鏂逛究 姣斿List<String> l = new ArrayList<String)();杩欐牱浣犲氨鍙兘瑁匰tring绫诲瀷鐨勫叾浠栫殑绫诲瀷涓嶅彲浠?鐒跺悗灏辨槸String s = l.get(1);杩斿洖鐨勫氨鏄疭tring绫诲瀷 涓嶅繀杩涜浠嶰bject鍚戜笅杞瀷涓篠tring绫诲瀷 鐒惰€屽鏋滄槸JDK1.5浠ュ墠鐨勭増鏈?鐨勮瘽 娌℃湁娉涘瀷 灏辨槸List l = new ArrayList();  鐒跺悗浣犵殑杩欐牱鍐?String s = (String)l.get(1); 浣犵敋鑷冲彲浠ヤ贡鏉?String s = (Cat) l.get(1); 杩欐牱缂栬瘧娌¢敊 杩愯鎶ラ敊 浣嗘槸鏈変簡娉涘瀷浣犵紪璇戝氨閿欎簡 閿欒鎬绘槸鎻愬墠鐨勫ソ锛屽敖閲忓湪缂栬瘧鏈熼棿鎻嚭鏉ワ紒娉涘瀷鏂逛究 鑰屼笖鐏垫椿鐨勫疄鐜颁簡澶氭€侊紝缂栫▼灏辨槸瑕佸線杩欐柟闈㈠彂灞曪紒

上一个:Vista系统下如何设置Java环境变量
下一个:求一些java基础题目来做

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,