SORU
24 Mart 2009, Salı


Ben eğer bir yöntemin dönüş türü Void ise iade ne? (Boşluk yok!)

Java Jenerik kullanımı nedeniyle bir işlevin dönüş türü olarak Void sahip uygulamak zorunda sona erdi:

public Void doSomething() {
    //...
}

derleyici ve ben geri dönmek istiyorbir şey. Şimdilik sadece null ama eğer bu iyi uygulama kodlama olup olmadığını merak ediyorum dönüyorum...

AyrıcaVoid.class, , *, *7voidVoid.TYPE, hiç dönüş yok, ama hiç işe yaramıyor hepsini denedim. (Daha fazla ya da daha az bilinen nedenlerle) (ayrıntılar için this answer)

  • Eğer bir işlevin dönüş türü Void eğer geri dönmek için ne yapmam gerekiyor?
  • Void sınıf genel ne faydası var?

DÜZENLEME:Sadece downvotes yedek: soruyorumVoıd, değilvoıd. Sınıf 10*,*değilayrılmış void anahtar kelime.

CEVAP
24 Mart 2009, Salı


Eğer bir işlevin dönüş türü Void olmalıdır eğer geri dönmek için ne yapmam gerekiyor?

return null kullanın. Void örneği olamaz ve sadece void Class<T> türü için bir yer tutucudur.

Boşluğun anlamı ne?

Yukarıda da belirtildiği gibi, bu bir yer tutucu. Void eğer, örneğin, yansıma void dönüş türü ile bir yöntem aramak için kullanın yoksa geri alırsın. (Teknik olarak, geri alacaksın Class<Void>.) Eğer Callable<T> bir stratejisinin eğer istiyorsan bu doğrultuda diğer çeşitli kullanımları vardır.

Java jenerik kullanımı nedeniyle bu işlevi uygulamak zorunda sona erdi

Bir şey olursa bu imza ile bir yöntemi uygulamak için gerekirse API ile funky olabileceğini söyleyebilirim. Ne istediğinizi yapmak için daha iyi yollar var olup olmadığını dikkatli bir şekilde (belki bir farklı daha fazla ayrıntı sağlayabilir, takip soru?) düşünün. Bu sadece geldi beri biraz şüpheleniyorum, "jenerik olarak kullanılması nedeniyle".

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • SolidWorksTutoriels

    SolidWorksTu

    14 Kasım 2013
  • SunsetTrance

    SunsetTrance

    20 EYLÜL 2008