2011年7月15日 星期五

StringBuilder append null in Java and C# test

今天檢查了一下StringBuilder對於附加null的處理做了個小實驗。

Java:
import java.util.Calendar;

public class main {
 public static void main(String[] args) {
  testStringBuilder();
 }

 public static void testStringBuilder() {
  StringBuilder sBuilder = new StringBuilder();
  
  System.out.println("1. string of new StringBuilder()");
  if(sBuilder == null){
   System.out.println("string:[is null]");
  }else{
   System.out.println("result:string:[" + sBuilder + "],length:[" + sBuilder.length() + "]");
  }
  
  StringBuilder sBuilder2 = new StringBuilder("");
  
  System.out.println("2. string of new StringBuilder(\"\")");
  if(sBuilder2 == null){
   System.out.println("string:[is null]");
  }else{
   System.out.println("result:string:[" + sBuilder2 + "],length:[" + sBuilder2.length() + "]");
  }
  
  StringBuilder sBuilder3 = new StringBuilder();
  String nullString = null;
  sBuilder3.append(nullString);
  
  System.out.println("3. string of new StringBuilder() append null");
  if(sBuilder3 == null){
   System.out.println("string:[is null]");
  }else{
   System.out.println("result:string:[" + sBuilder3 + "],length:[" + sBuilder3.length() + "]");
  }
  
  StringBuilder sBuilder4 = new StringBuilder("");
  sBuilder4.append(nullString);
  
  System.out.println("4. string of new StringBuilder(\"\") append null");
  if(sBuilder4 == null){
   System.out.println("string:[is null]");
  }else{
   System.out.println("result:string:[" + sBuilder4 + "],length:[" + sBuilder4.length() + "]");
  }
 }

2011年7月13日 星期三

中華電信 50M 實測

好不容易辦好了50個妹,當然要來測試一下50個妹的威力!下面會分成3個部分,分別有電腦的速度測試、Wifi的速度測試以及苦命的3G速度測試。

先說明一下,有關於速度換算:
下行:50Mbps = 6400 KB
上行:5Mbps = 640 KB

首先是電腦的部分,先來張種花的速度測試:
種花自己的測速網站
 我的老天爺啊!上行跑出了破表的速度,還敢說沒有作弊!這麼完美的速度要哪裡找?

2011年7月11日 星期一

I touchs: Finding memory leaks for apps in Xcode 4

I touchs: Finding memory leaks for apps in Xcode 4: "更新日期: 2011/03/ 17 參考資料: How To Debug Memory Leaks with XCode and Instruments Tutorial | Ray Wenderlich http://www.raywenderlich.com/2696..."

2011年6月3日 星期五

Objective-C @property

interface中宣告
@property int age <= 編譯器自動產生 get 與 set 方法。
可以用的屬性有:
屬性說明
getter=method指定物件的get method
setter=method指定物件的set method
readonly指定物件為唯獨狀態
readwrite指定物件為可讀寫狀態(預設)
assign物件的值根據帶入的值決定,不改變索引計數(預設)
copy複製物件的設定,索引計數為1,釋放舊的物件
retain保持物件的設定,提高物件的索引計數,並釋放舊的物件
nonatomic不鎖定物件(多執行緒的時候,資源會競爭)

assign:適用於基本型態變數,例如int,char,NSInteger,CGFloat...等等。
copy:適用於NSString。
retain:以NSObject為基底的class。

2011年5月27日 星期五

Objective-C Method Type

"-" 代表實體方法,實體方法用在當類別被實體化後才可取用
"+" 代表類別方法,類別方法不須實體化就可使用