作者tomex (tomex_ou)
看板C_Sharp
标题[心得]将Java的Namespace转换成.Net的
时间Mon Nov 8 22:31:00 2004
平心而论,.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