[心得]將Java的Namespace轉換成.Net的

看板C_Sharp (C#)作者 (tomex_ou)時間20年前 (2004/11/08 22:30), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/4 (看更多)
平心而論,.Net的Framework在佈局上比Java的JSDK直覺許多,例如java的轉型別寫法: int i = Integer.parseInt(string) String s = String.valueOf(int); 然後記誦8種不一樣的java資料型別轉換method名稱.. @@" 而.Net的型別都是繼承自object,而object本身就擁有ToString()等內建型別 因此只要把 int.ToString()即可轉換成字串,很直覺。 不過,我不會拿新架構跟舊體系來比較,因為本身並不公平, 然後在用類別轉換命名而言,.Net就提供一個統一的Convert物件, 專門來做型別轉換的工作. int i = Convert.ToInt32(string) string s = Convert.ToString(int) 現在JDK 1.5出來了,增加許多功能,但在物件合名的舖陳及統一上仍不重視 我想主要原因是為了要能相容舊式寫法, 例如foreach語法在jdk 1.5終於支援了,卻不內建在compiler裏頭, 而是另用一個類別來format模擬它。繞了一些不必要的路, 這就是java程式語言本身的歷史包袱。 .Net再怎麼貼心及創新,微軟仍堅守在win32平台,因此在跨平台上仍得用java 儘管在語法上較不直覺,但衝著「跨平台」三個字,忍了... 最近,我對於物件的包裝及佈署有些心得,於是自己實作一個Java Bean, 儘量讓java在寫法上直覺一些,例如要執行sql,一行指令就行: obj.executeQuery(sql); 為何我不把method的名字也取像.Net Framework裏頭的命名呢? 因為method回傳的型別仍是不一樣,java就沒有DataTable那樣易用的物件 而mthod的命名常常取決回傳的類別名稱,so...先保留,也方便我記憶轉換, 也避免我一直記起.Net的方便性。 我也另實作Java物件的統一命名,例如要轉換型別就用: obj.Convert.ToInt32(string) obj.Convert.ToString(int) 其實它只是呼叫java既有的method而己, sun不做這貼心事,我自己來。 我現在寫程式,境界上不僅僅只是要完成程式功能及專案, 甚至想重新創造語言本身的表達能力, 所以寫程式有沒有趣,其實看個人想做到什麼地步而己。 -- 貫徹分享精神 我為人人,人人為我 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.183.211
文章代碼(AID): #11ZuBtwp (C_Sharp)
文章代碼(AID): #11ZuBtwp (C_Sharp)