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

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • ecf150king

    ecf150king

    20 Ocak 2006
  • TomSka

    TomSka

    30 Mayıs 2006