SORU
2 AĞUSTOS 2011, Salı


Google Guava koleksiyonları için isNullOrEmpty

Ben Dizeleri için Guava var isNullOrEmpty yarar yöntemine bakın

Strings.isNullOrEmpty(str)

Listeler için benzer bir şey var mı? Gibi bir şey

Lists.isNullOrEmpty(list)

eşdeğer olmalıdır

list == null || list.isEmpty()

Ayrıca, Diziler için benzer bir şey var mı? Gibi bir şey

Arrays.isNullOrEmpty(arr)

eşdeğer olmalıdır

arr == null || arr.length == 0

CEVAP
3 AĞUSTOS 2011, ÇARŞAMBA


Hayır, bu yöntem Guava yok ve aslında bizim "fikir mezarlık."

"Boş" hiç gerçekten bir koleksiyonu hakkında sormak istiyorum. bir soru olduğuna inanmıyoruz

Eğer bir koleksiyon boş olabilir, ve bu gibi boş boş aynı, tüm bu belirsizlik yoldan öne al o zaman tedavi edilmelidir:

Set<Foo> foos = NaughtyClass.getFoos();
if (foos == null) {
  foos = ImmutableSet.of();
}

ya böyle olursa (isterseniz):

Set<Foo> foos = MoreObjects.firstNonNull(
    NaughtyClass.getFoos(), ImmutableSet.<Foo>of());

Bundan sonra, sadece normal gibi .isEmpty() kullanabilirsiniz. Hemen yaramaz API çağrılması üzerine bunu yapmak ve sonsuza kadar devam etmesine izin vermek yerine arkanda tuhaflık koyun.

Ve eğer "boş hangi gerçekten anlamına gelir boş toplama" değil döndü, ama geçmiş için, sizin işiniz kolay: sadece izin NullPointerException atılmış, ve o arayana kadar şekil.

Google Guava sunar:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dcigs

    dcigs

    9 EYLÜL 2006
  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • whiteboy7thst

    whiteboy7ths

    1 Temmuz 2009