來看乙個小例子:
public class test}/*
public class test}*/
結果前者為true,後者為false,這有點令人驚訝,兩個例子語法完全一樣,只不過改了個數值而已,結果卻相反,其實這與==運算子的比較有關,==操作符既可以用來比較兩個基本資料型別的變數值是否相等,也可以用於判斷兩個物件變數名稱是否引用至同乙個物件.在jdk5.0開始,有了自動裝箱這個功能,對於值從-128到127之間的值,它們被裝箱為integer物件後,會存在記憶體中被重用,所以上面的第乙個例子使用==進行比較時,i1和i2實際上引用至同乙個物件,結果返回true,如果超出此範圍,被裝箱後的integer物件並不會被重用,即相當於每次裝箱時都新建乙個integer物件,所以後面的例子使用==進行比較時,i1和i2引用的是不同的物件.如果使用"i1.equals(i2)"那就是返回true了.我們使用自動裝箱和拆箱功能時一定要小心.
JDK 5 0新特性 列舉
列舉 需要在一定範圍內取值,這個值只能是這個範圍內的任意乙個。例如 交通訊號燈。列舉的構造方法是私有的。建立列舉的格式 其中enum為列舉關鍵字 enum 列舉型別名稱例如紅綠燈的列舉 private color color test public void test enum color列舉的常用...
JDK5 0 范型小測驗
在部落格堂看到了一篇關於c 2.0範性的小測驗 http blog.joycode.com ninputer archive 2005 11 02 66256.aspx 考慮到jdk 5.0也引進了範性,特意在jdk 5.0做了相應的測試。quiz1 判斷以下 是否有錯,如果有錯,說出錯誤型別,如果...
jdk5 0 多執行緒學習筆記(五)
今天,我們來學學worker模式,大家也好對jdk5.0的執行緒池有乙個更好的理解。先來看看 public class main 再來看看傳送請求的client public class clientthread extends thread public void run catch interr...