1. 程式人生 > >Java改錯式學習筆記及其自我內功修養(持續更新)

Java改錯式學習筆記及其自我內功修養(持續更新)

 · 在JAVA中判斷字串是否為空行的方法不是String.equals("\n"),而是String.equals("");

 · list .addAll(otherList)完全複製,否則直接list1 = list2;是指標指向同一記憶體

 ·

 ·

 ·

 ·

 ·

 ·

 ·

 ·

以下我為Java改錯學習法一書的知識點小結:

 · 正確區分基本型別和運用型別資料:new是建立一個新的物件,其記憶體地址不同,無論內容相同不相同,==結果均不等,建議用equals()方法

 

 · 既然有了StringBuffer為什麼還要用String方法:很多情況下還是需要使用String方法來傳遞值的,比如說:String + 的修改String會被編譯器認為是StringBuilder的操作,而StringBuffer的很多方法用synchronized修飾,意味著多個執行緒只能互斥地呼叫這個方法。StringBuffer的append方法,對於多執行緒程式設計,多個執行緒不能同時使用這個方法。

 

 · 邏輯操作符和短路邏輯操作符:&為邏輯操作符,&&為短路邏輯操作符,(X&Y)意味著判斷完X還將會繼續判斷Y,而(X&&Y)則是倆個都會判斷。

 

 · java的Double類資料對於 0/0等分母為0資料設定的無窮大:Infinity和無定義NaN;

 

 · 利用goto語句跳出嵌入迴圈。關於死迴圈的跳出可以選擇,Where(flag),當滿足一定條件時,修改flag的值進行跳出。

 · 例項變數與類變數:單獨的一個類 xx{},裡面有一個static int變數,這個我們叫他類變數。而int變數我們則稱它為例項變數。其中,例項變數,每建立一個類物件重置一次。而類物件為靜態變數,靜態變數在類載入到記憶體時建立,故此,新建立一個物件,他的類物件並不會重置。

 ·引用變數的值傳遞是傳遞值的地址 ,不同於基本變數。類物件屬於引用型別,t=a,修改t的屬性等於直接修改了a的屬性。

 · 設計類的時候,類的功能明確,引數符合功能要求,引數過多考慮新建一個類。

介面可例項化 ,抽象類不可例項化