SORU
12 EKİM 2014, Pazar


Java 8 alıcı türü isteğe bağlı geri çevirir mi?

İsteğe bağlı Java 8'de sunulan pek çok geliştirici için yeni bir şey.

Alıcı bir yöntem Optional<Foo> dönen klasik yerine yazın Foo iyi bir uygulamadır? Değeri null olabilir varsayalım.

CEVAP
12 EKİM 2014, Pazar


Tabii ki, insanlar ne istiyorlar. Ama bu özellik eklerken açık bir niyeti vardı, ve oldudeğilgenel amaçlı Belki ya da yazın olduğu kadar çok kişi olarak bizden bunu isterdi. Niyetimiz bu değildi sağlamak için sınırlı bir mekanizma için kütüphane yöntem dönüş türleri nerede var kullanmam gereken net bir şekilde temsil etmek "sonuç" ve kullanarak null için böyle oldu ezici bir çoğunlukla büyük olasılıkla neden hataları.

Örneğin, muhtemelen hiç sonuçlarının bir dizi, ya da sonuçlar bir liste şeklinde geri döndüren bir şey için kullanın; bunun yerine boş bir dizi ya da liste dönmelidir. Neredeyse hiç bir şey bir alan veya yöntem bir parametre olarak kullanmak gerekir.

Rutin alıcılar için bir dönüş değeri olarak kullanmak kesinlikle aşırı kullanımı olacağını düşünüyorum.

Bir şey yokyanlışkaçınılmalıdır bu İsteğe bağlı, birçok insan olsaydı da bir şey değil, ve buna göre gayretli riski konusunda oldukça endişeli aşırı ihtiyacımız vardı.

(Kamu hizmeti duyurusu:ASLAhiç boş olacak kanıtlamak; orElse ifPresent gibi güvenli yöntemlerden birini kullanmak yerine sürece Optional.get Ara. Geçmişe bakarsak, bizi aradı get getOrElseThrowNoSuchElementException falan yaptı o kadar net ki bunun son derece tehlikeli bir yöntem bu zarar bütün amacı Optional ilk başta. Ders öğrendim.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8bitdigitaltv

    8bitdigitalt

    31 AĞUSTOS 2011
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • RyanXLT

    RyanXLT

    22 Ocak 2011