如果只是非空,则将String添加到ArrayList

时间:2014-03-19 11:58:09

标签: java string arraylist stringbuilder

假设我有ArrayList < String >名为arrStringBuilder名为buf,我使用以下方法将buf的内容添加到{{ 1}}。

arr

但它会两次调用if ( !buf.toString( ).equals( "" ) ) { //allow only non-empty Strings. arr.add( buf.toString( ) ); } 。我不想在我的代码中使用它。此外,还有其他(简短或简单或有效或其他)方式来实现这一目标吗?

编辑:另外,我在循环中执行此操作,这个效率是什么?

2 个答案:

答案 0 :(得分:4)

有API String#isEmpty()方法来检查Java中的空字符串,使用它。它会更优雅。

String temp = buf.toString();

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

答案 1 :(得分:2)

我认为你需要length()方法而不是toString ,因为它是对超类方法的调用并创建String 的新实例所以我建议你下一个:

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