2014-03-19 42 views
1

假如我有一個名爲arrArrayList <String>和一個名爲bufStringBuilder,我用下面的方法的buf內容添加到arr添加字符串到ArrayList如果只有不爲空

if (!buf.toString().equals("")) { //allow only non-empty Strings. 
    arr.add(buf.toString()); 
} 

但它叫buf.toString()兩次。我不想在我的代碼中。此外,有沒有其他的(簡單或簡單或有效的或其他)的方式來實現這一目標?

編輯:此外,我這樣做在一個循環,所以這是高效

+2

'字符串s = buf.toString();'並使用's'? – fge

回答

4

有API String#isEmpty()方法來檢查Java中的空字符串,使用它。它會更優雅。

String temp = buf.toString(); 

if (!temp.isEmpty()) { 
    arr.add(temp); 
} 
+0

嗯...不知道。謝謝。 (還有更多這樣的優雅方法嗎?) – Astrobleme

+0

@ambigram_maker,是的,檢查API。 –

2

我想你需要一個length()方法代替的toString因爲是父類方法的調用,並創建字符串的新實例,所以我建議你下一個:

if(buf.length()>0) 
{ 
    arr.add(buf.toString()); // one call! 
} 
相關問題