SORU
23 EYLÜL 2008, Salı


Ne'en yakın Java'da bir işlev işaretçisi yerine s?

Kod yaklaşık on satırlık bir yöntem var. Tam olarak aynı şeyi yapmak için daha fazla yöntemler, kod satırı değiştirecek küçük bir hesaplama dışında oluşturmak istiyorum. Bu işlevi bir işaretçi bir satır yerine geçmek için mükemmel bir uygulama, ama Java işlev işaretçileri yok. Benim en iyi alternatif nedir?

CEVAP
23 EYLÜL 2008, Salı


Anonim iç sınıf

int döndüren bir fonksiyon String param ile geçirilen var.
İlk eğer varolan bir yeniden kullanabilirsiniz eğer sadece üye olarak işlevi olan bir arabirim tanımlamak için var.

interface StringFunction {
    int somefunction(String param);
}

İşaretçi alır bir yöntem şöyle: StringFunction örnek kabul eder

public void takingMethod(StringFunction sf) {
   //stuff
   int output = sf.somefunction(input);
   // more stuff
}

Ve denir ki: gibi

ref.takingMethod(new StringFunction() {
    public int somefunction(String param) {
        //body
    }
});

EDİTJava 8, lambda ifade ile diyebiliriz:

ref.takingMethod(param -> bodyExpression);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • Kap Slap

    Kap Slap

    8 Mart 2010
  • Music EuroDance 2

    Music EuroDa

    12 Mayıs 2011

İLGİLİ SORU / CEVAPLAR