JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java SE 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:J2SE 1.5 的新特点 [Re:popcorny]
Duncan

還隱隱作痛

版主

發文: 7816
積分: 39
於 2003-08-07 00:35 user profilesend a private message to usersend email to Duncanreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
popcorny wrote:
可是假設我訂一個class是這樣的
pubic class Hashtable<Key, Value> {
...
Value put(Key k, Value v) {...}
Value get(Key k) {...}
}

那Key跟Value的資訊會存在bytecode嘛??
若有.. 那就是改變bytecode存的資訊

new feature "generic" 是這樣嗎?
我覺得不是去學 C++ template,只是擴充現有的 Collection 階層,本來是當異質容器,多一種語法變成同質容器而已。

popcorny wrote:

若沒有..
當我這樣寫
1
2
3
Hashtalbe<String, int> map = new Hashtable<String, int>();
map.put("abc", 3);
int i = map.get("abc");

那compile在只有Hashtable的bytecode的情況下
要怎麼知道String這個actual type去bind到Key這個generic type
而int這個actual type去bind到Value這個generic type
而要把上面此段程式的最後一行變成
1
int i = (int)map.get("abc");

這個binding不會無中生有吧??


我覺得不需要以 C++ template 來思考。generic Java 裡,你要設計 collection 類別依然是原有的設計方式,依然是用共通的 base: Object 來對待每一個物件,只是 programmer 可以 narrow 開放的介面,要求編譯器在編譯期多一份檢查;並不需要像 C++ template 的設計方式,以 dummy name 來代表某個 type,然後由編譯器去產生實做。相反的我覺得 Java 的 generic 並沒有產生額外的實做碼,只是編譯器多一份檢查而已,而 template 是針對不同類型的 parameter 都需要產生一份不同的實做。


reply to postreply to post

給我
辣味豆腐 其餘免談
話題樹型展開
人氣 標題 作者 字數 發文時間
16188 [精華] J2SE 1.5 的新特点 subbug 2433 2003-08-02 09:30
15017 Re:J2SE 1.5 的新特? piggy 311 2003-08-02 11:53
15119 Re:J2SE 1.5 的新特点 saijone 3765 2003-08-02 22:52
13762 Re:J2SE 1.5 的新特点 Duncan 689 2003-08-06 22:58
13590 Re:J2SE 1.5 的新特点 popcorny 1058 2003-08-06 23:17
13506 Re:J2SE 1.5 的新特点 tempo 667 2003-08-06 23:28
13508 Re:J2SE 1.5 的新特点 popcorny 675 2003-08-07 00:18
13697 Re:J2SE 1.5 的新特点 Duncan 1016 2003-08-07 00:35
14304 Re:J2SE 1.5 的新特点 popcorny 933 2003-08-07 00:57
13463 Re:J2SE 1.5 的新特点 Duncan 699 2003-08-07 08:59
13284 Re:J2SE 1.5 的新特点 tempo 387 2003-08-07 01:15
13490 Re:J2SE 1.5 的新特点 saijone 1722 2003-08-07 03:20
13256 Re:J2SE 1.5 的新特点 worookie 458 2003-08-07 05:56
13436 Re:J2SE 1.5 的新特点 Duncan 894 2003-08-07 09:06
13110 Re:J2SE 1.5 的新特点 worookie 149 2003-08-07 09:20
13384 Re:J2SE 1.5 的新特点 Duncan 194 2003-08-07 09:24
13125 Re:J2SE 1.5 的新特点 worookie 191 2003-08-07 09:34
13236 Re:J2SE 1.5 的新特点 saijone 660 2003-08-07 10:49
13410 Re:J2SE 1.5 的新特点 popcorny 267 2003-08-07 10:58
13096 Re:J2SE 1.5 的新特点 tempo 845 2003-08-07 11:27
13590 Re:J2SE 1.5 的新特点 Dream 1620 2003-10-05 01:56
13602 Re:J2SE 1.5 的新特点 Duncan 882 2003-08-07 00:21
13283 Re:J2SE 1.5 的新特点 tempo 434 2003-08-07 01:22
13177 Re:J2SE 1.5 的新特点 worookie 104 2003-08-07 02:04
13229 Re:J2SE 1.5 的新特点 popcorny 147 2003-08-07 11:02
13129 Re:J2SE 1.5 的新特点 tempo 157 2003-08-07 11:20
13027 Re:J2SE 1.5 的新特点 worookie 144 2003-08-07 14:04
13191 Re:J2SE 1.5 的新特点 worookie 169 2003-08-07 02:24
13263 Re:J2SE 1.5 的新特点 worookie 246 2003-08-07 01:29
13417 Re:J2SE 1.5 的新特点 popcorny 1947 2003-08-07 10:50
13195 Re:J2SE 1.5 的新特点 tempo 811 2003-08-07 11:19
14632 Re:J2SE 1.5 的新特点 saijone 764 2003-08-07 12:12
» JWorld@TW »  Java SE 討論區

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8