2013年6月27日 星期四

String vs StringBuilder vs StringBuffer

以前沒有考慮執行效率時

在做字串處理的時候都使用String,

如果你的字串處理需要常常變換長度和內容的話,

String s="";
for(int i=1;i<=a;i++){
 s+="2";
}

計算質數的作法

當初就有打算在工作一段時間後,

要回去看以前自己寫的高中生解題,

實在蠻汗顏的,

以前的我會這樣寫,

for(int i=1;i<=b;i++){
 time=0;
 for(int j=1;j<=i;j++){
  if(i%j==0){
   time++;
   if(time>2){
    break;
   }else if(j==i){
    System.out.println(i+" ");
   }
  }
 }
}

2013年6月25日 星期二

abstract class vs interface

對於從事JAVA的開發人員來說,

抽象類這個概念應該並不陌生,

但實際上這兩個的差異似乎又說不上來,

最近剛好有朋友問到這個部分,

索性就把自己研究的心得分享一下。

程式面的差異

2013年6月21日 星期五

MySQL關於IFNULL、ISNULL、NULLIF

最近專案是從SQL SERVER移到MYSQL,

許多語法搬到MYSQL上會有一些差異,

在MSSQL中你可能會這樣使用ISNULL

SELECT ISNULL(columnName,default) FROM TABLE

SELECT ISNULL(NULL,1)
-->1

表示當某個欄位為NULL時,呈現default。

但在MYSQL中的ISNULL用法是,

SELECT ISNULL(columnName) FROM TABLE

SELECT ISNULL(NULL)
-->1

SELECT ISNULL('TEST')
-->0

這代表判斷某個欄位是不是NULL,是的話呈現1,否則呈現0。

而IFNULL可以表示有預設值的呈現,

SELECT IFNULL(columnName,default) FROM TABLE

SELECT IFNULL(NULL,1)
-->1

用法同MSSQL的ISNULL,判斷為NULL時呈現default,

另一個比較不常見的語法NULLIF,

SELECT NULLIF(columnName,columnName) FROM TABLE

SELECT NULLIF(1,1)
-->NULL

SELECT NULLIF(1,0)
-->1

意思是當兩個值相等時呈現NULL,否則呈現1。

JQuery實現頁面上CRUD

在資料維護的頁面或是表單的細項,

常會需要使用在同頁面做CRUD的功能,

用JQuery的方式可以很輕鬆的達到這個需求,

這邊附上一個自己寫的範例,

可以套用在許多需要這個功能的頁面上,

我使用的是JQuery-1.9.1,

2013年6月20日 星期四

日期比較、日期增加(減少)

在撰寫表單系統的時候,

常會需要在選擇日期的同時,

用jQuery去修改一些日期計算後的欄位,

像是共計幾天、幾小時等等,

以下分享一個自己寫的計算日期比較的方法,

需要注意的是日期參數的格式,

為使IE及FireFox都可相容,盡量使用yyyy/MM/dd的格式,避免用yyyy-MM-dd,