[心得]將Java的Namespace轉換成.Net的
平心而論,.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
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章