# JAVA筆記 **Double Float精度問題** 因為用Double、Float型態去做加減,小數點後面數字容易跑掉,嚴謹的話通常會用BigDecimal去做加減,會以字串與Int進行 **Map取String** 會使用MapUtils.getString(Map,Key) **Int與Integer** Int為JAVA預設型態,Integer為Class可能會出現NULL值,如果NULL值與變數進行運算會造成nullPointException **BigDecimal運用** 新增變數需要宣告一個新的BigDecimal Class,BigDecimal Class有提供Zero(),One(),Ten()等靜態方法,如果用這些進行加減可以降低記憶體消耗 ``` BigDecimal bigdecimal =new BigDecimal("變數") bigdecimal.Zero() bigdecimal.One() bigdecimal.Ten() ``` **String與StringBuilder** 如果是宣告完不會做增減的字串建議使用String,如果建立完需要進行增減的字串會建議使用StringBuilder Class,因為以下兩個程式比較String宣告A時會占用A這個記憶體空間,str+=B時把B加入String這個字串會讓B佔記憶體空間後才寫入,另一個使用StringBulder的程式把B加入str不會讓B在佔一個記憶體空間 String ``` String str="A" str+="B" //str=AB ``` StringBuilder ``` StringBuilder str = new StringBuilder("A") str.append("B") ```