code_prettify

2012年3月27日 星期二

BigDecimal相除出現 Non-terminating decimal expansion

執行 BigDecimal的除法時遇到這個 exception:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
原因是使用了 BigDecimalA.divide(BigDecimalB).
除了分母外不帶任何引數的 divide如果遇到除以 0或除不盡就會拋 ArithmeticException.
所以 BigDecimal相除的時候還是乖乖用 divide(除數, 位數, 進位方法).

2012年3月12日 星期一

快速建立 java bean中所有 setter的小技巧

service寫多了,每次寫 form<->trasfer object或 transfer object<->entity的 set程式碼就很累,幾十甚至上百個欄位,就算 eclipse有 hint功能也很麻煩.

快速產生所有 setXXX();程式碼的方法:
1.把對象物件的所有 attribute複製到 notepad++
2.用 notepad++的行選取功能(按住 Alt後縱向選取)選取所有 attribute的第一個字
3.用 textFX Characters把選取的字母轉大寫
4.用 textFX Edit的 Insert (clipboard) through lines給所有行前面加上 ooo.set
5.把 ;用 ();取代
醬就可以產生所有欄位的 set程式碼,簡單快速又不會遺漏