顯示具有 JAVA 標籤的文章。 顯示所有文章
顯示具有 JAVA 標籤的文章。 顯示所有文章

星期日, 8月 24, 2014

Java與C#的Generic Programming的比較

Java說everything is an object真是吃力不討好,很多簡單的東西也要包到物件裡面。
例如整數好了,在Java李就要分成Primitive type跟Wrapped Object。

為什麼要這樣分呢?
其實是為了Generic Programming而衍伸出來的做法。
因為在Java裡一切都是物件,所以連Generic中的東西都要用物件去包,才能保證語言的形態安全。
於是在Java裡面不能使用
Stack s;
而要使用
Stack s;

塞個東西進去要
s.push(Integer(1));
而不能使用
s.push(1);

這不僅是語法上的不便,更是造成實際執行的效能影響。
因為每個物件存取都需要在經過一層reference,比起1直接使用,
操作一多效率可就影響大了。

在這方面,C#中對built-in type的generic programming,例如Stack是允許的,相較之下可就顯得進步多了。

星期五, 11月 03, 2006

費氏數列

Fn=Fn-1 + Fn-2\ (n>=3)
Fn=1 (n=1,2)
很傷腦筋的東西
用java希望能用遞迴把他摳出來
怎麼一直掉入無窮呢
連用解答去compile都是一樣
讓我有點生氣!!
可惡
改天一定要找出問題所在
今天...
先睡覺吧!!