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

看板C_Sharp (C#)作者 (Good..)時間20年前 (2004/11/08 14:49), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/4 (看更多)
※ 引述《tomex (tomex_ou)》之銘言: : 平心而論,.Net的Framework在佈局上比Java的JSDK直覺許多,例如java的轉型別寫法: : int i = Integer.parseInt(string) : String s = String.valueOf(int); : 然後記誦8種不一樣的java資料型別轉換method名稱.. @@" ?? ToChar ToByte ToDecimal ???Conver class也很多型別轉換method呢:) 重點是在於primitive type非object 你也可以new Integer("3").toString(); 因為每個Object都有toString 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程式語言本身的歷史包袱。 這邊應該是說他把功能做在compiler等級 而非vm等級 外加不太懂您的意思 實際上的foreach code也只是變成 list.GetEnumerator(); 然後透過 enumerator1.Current去做事 依我透過工具decompile的結果是如上 在java的foreach中則是使用Iterator罷了. Java也有Enumeration 如:Vector.elements(); 只是sun好像都使用Iterator : .Net再怎麼貼心及創新,微軟仍堅守在win32平台,因此在跨平台上仍得用java : 儘管在語法上較不直覺,但衝著「跨平台」三個字,忍了... 是為了與之前版本相容才"忍"了 跨平台只要每個os上的vm都實作的出來 那麼便不用擔心呀!! 如果整個VM可以翻新 從VM去支援 那麼以前的程式都得拿回來重新compile過才行 我想JAVA暫時應該不會這麼做 外加拖越久感覺就越難實施 如果真可以大刀闊斧 何必用compiler來支援generic 害我實在很羨慕C# user 用generic可以增進效率 在JAVA卻是.. : 最近,我對於物件的包裝及佈署有些心得,於是自己實作一個Java Bean, : 儘量讓java在寫法上直覺一些,例如要執行sql,一行指令就行: : obj.executeQuery(sql); : 為何我不把method的名字也取像.Net Framework裏頭的命名呢? : 因為method回傳的型別仍是不一樣,java就沒有DataTable那樣易用的物件 確實,沒有ADO.NET這麼好用整合好的API 用jdbc也是夠麻煩的 外加也只能用於資料庫 ADO.NET就通吃各種東西 : 而mthod的命名常常取決回傳的類別名稱,so...先保留,也方便我記憶轉換, : 也避免我一直記起.Net的方便性。 : 我也另實作Java物件的統一命名,例如要轉換型別就用: : obj.Convert.ToInt32(string) : obj.Convert.ToString(int) : 其實它只是呼叫java既有的method而己, : sun不做這貼心事,我自己來。 : 我現在寫程式,境界上不僅僅只是要完成程式功能及專案, : 甚至想重新創造語言本身的表達能力, : 所以寫程式有沒有趣,其實看個人想做到什麼地步而己。 確實 我在專案中也喜歡利用其他程式的API 有時在寫C#看看他的原始碼 哪個API好用 改寫成JAVA的 反過來JAVA有的 C#找不到時 便從JAVA的class library抄 有時把API包的很general 可是非常爽的!!! 像我就偶爾看看有沒有新DP,修修改改自己使用來操作Hibernate Session (.Net也有仿造的NHibernate,著名的O/R mapping工具)的API 方便自己日後使用 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.38.77

140.115.205.46 11/08, , 1F
推前面...
140.115.205.46 11/08, 1F
文章代碼(AID): #11ZuUDdr (C_Sharp)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 4 篇):
文章代碼(AID): #11ZuUDdr (C_Sharp)