原创 Java開發中的23種設計模式詳解(轉)

設計模式(Design Patterns)                                  ——可複用面向對象軟件的基礎設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗

原创 淺析List中Integer類型比較的錯誤

相信很多人都會有想用List集合存int數據的時候(或許是用於後續遍歷),初始我的第一反應是下圖,經驗證會報錯,雖要將int存入,但初始化時需要初始爲Integer類型。正確的初始化如下實際上是由於我的軟件構造實驗課lab1中一個困擾我近

原创 使用三種不同的IO策略一行一行讀文件

1.使用inputstream讀文件,並將讀取到的一行行字符串存入list中    File file = new File(filename); // 實例化一個file對象    FileInputStream fis = new F

原创 用ant構建測試時中文字符引起的錯誤

我的程序在eclipse中成功跑成功,但在ant構建跑時出現了unknownsource的問題,後來發現原因是因爲雙引號使用了中文雙引號,在ant環境中沒有編譯中文字符的環境,導致無法識別出中文雙引號。如果有同樣問題出現的同志,希望本篇博

原创 數組中的協變原則

根據LSP原則,我們可以知道子類型方法參數是逆變的,而子類型的返回值是協變的。下面我想測試的是在數組中所存在的協變原則代碼如下:public  class test {    public static void main(String[

原创 java中異常處理中的異常匹配

先貼上代碼:class Annoyance extends Exception{}class Sneeze extends Annoyance{}public  class test {    public static void mai

原创 關於泛型中的類型擦除問題

在JAVA中,我們會經常用到List<..>,其中<>中的即爲泛型,在這裏我想說明的是泛型從存在的類型擦除所導致的一些常見問題貼上測試代碼:import java.util.ArrayList;import java.util.List;

原创 java中使用logging將日誌寫入文件

1.首先獲取調用日誌記錄的類的名稱static String strclassname=你的類.class.getName();2.初始化一個loggerstatic Logger mylogger= Logger.getLogger(s

原创 java中Set中添加mutable變量修改後contains返回false

背景題目有點複雜......語文太差....貼上代碼吧public static void containTest() { List<String> list = new ArrayList<>(); li

原创 關於子類創建對象調用父類方法時this的問題(以及方法重寫)

如下實例提出問題:class T{    T(){        System.out.println("T()");    }   void foo(){this.bar();}   void bar(){       System.o

原创 關於TreeMap中如何輸出排序好第一個key及value

在做實驗的時候,遇到了需要從treemap中得到第一個 key和value。我們都知道,treemap會根據鍵值進行排序(字典序),那怎麼得到第一個value呢?通過查看treemap的方法文件介紹,我寫了以下測試程序package te

原创 java中foreach語句中使用remove時出現的問題

先粘上測試代碼:public  class test {    public static void main(String[] args) {       List<Integer> list=new ArrayList<>();