Добавить String в ArrayList, если только не пустой

1

Предположим, что у меня есть ArrayList < String > именем arr и StringBuilder именем buf, я использую следующий метод для добавления содержимого buf в arr.

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

Но он вызывает buf.toString( ) дважды. Я не хочу этого в своем коде. Кроме того, есть ли другой (короткий или простой или эффективный или что-то еще) способ достичь этого?

EDIT: Кроме того, я делаю это в цикле, так ли это эффективно?

Теги:
string
arraylist
stringbuilder

2 ответа

4
Лучший ответ

Существует метод API String#isEmpty() для проверки пустых строк в Java, используйте его. Это будет более элегантно.

String temp = buf.toString();

if (!temp.isEmpty()) {
    arr.add(temp);
}
  • 0
    Хм ... не знал этого. Благодарю. (Есть ли еще такие элегантные методы)?
  • 0
    @ambigram_maker, да, проверьте API.
2

Я думаю, вам нужен метод length() вместо toString, потому что это вызов метода суперкласса и создание нового экземпляра String, поэтому я рекомендую вам следующее:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню