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

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006