假设我有ArrayList < String >
名为arr
且StringBuilder
名为buf
,我使用以下方法将buf
的内容添加到{{ 1}}。
arr
但它会两次调用if ( !buf.toString( ).equals( "" ) ) { //allow only non-empty Strings.
arr.add( buf.toString( ) );
}
。我不想在我的代码中使用它。此外,还有其他(简短或简单或有效或其他)方式来实现这一目标吗?
编辑:另外,我在循环中执行此操作,这个效率是什么?
答案 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!
}