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

  • Elly Awesome

    Elly Awesome

    15 ŞUBAT 2010
  • SDSARG3

    SDSARG3

    14 Mart 2009
  • UsherVEVO

    UsherVEVO

    15 EKİM 2009