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

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • audivila

    audivila

    5 HAZİRAN 2009
  • Ralph Phillips

    Ralph Philli

    5 Aralık 2006