Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako prevesti Lambda Expression u metod

[es] :: Java :: Kako prevesti Lambda Expression u metod

[ Pregleda: 1228 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Kako prevesti Lambda Expression u metod15.01.2020. u 20:45 - pre 51 meseci
Pokušavam sledeći Lambda Expression da prebacim u metod
Code (java):

Button[] btns;
EventHandler handler = evt -> {
String pressedBtns = ((Button)evt.getSource()).getText();
switch (pressedBtns) {
// Neki kod
}
};
 



Znam da je LE naprednije ali ako može pomoć
Pozdrav

[Ovu poruku je menjao timberman dana 15.01.2020. u 22:30 GMT+1]
 
Odgovor na temu

FooLControL
Serbia

Član broj: 168531
Poruke: 74
87.116.179.*



+8 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 21:21 - pre 51 meseci
Ne razumem najbolje sta zelis. Postavljam ti primer lambda izraza, i metode koja vraca lambda izraz.

Code (java):

    Predicate<String> isEmpty = s -> s != null && s.isEmpty();
 


Code (java):

     private Predicate<String> isEmpty() {
        return s -> s != null && s.isEmpty();
    }
 
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 21:27 - pre 51 meseci
Ja bih da nemam lambda izraz nego metod, kao što se pisalo prije nego su uvedeni lambda izrazi

Npr.
Code (java):

Button btn = new Button();
        btn.setText("Kako se zoveš?");
        btn.setOnAction(new EventHandler<ActionEvent>() {
           
            @Override
            public void handle(ActionEvent event) {
                String ime=JOptionPane.showInputDialog("Unesite ime");
                btn.setText("Zdravo, "+ime);
               
            }
        });
 


Kod ovog koda mi NetBeans nudi This anonymous inner class creation can be turned into a lambda expression i kada to odradim kod postaje

Code (java):

  Button btn = new Button();
        btn.setText("Kako se zoveš?");
        btn.setOnAction((ActionEvent event) -> {
            String ime=JOptionPane.showInputDialog("Unesite ime");
            btn.setText("Zdravo, "+ime);
        });
 


E ja hoću unazad, od ovog drugog da dobijem prvo.
 
Odgovor na temu

FooLControL
Serbia

Član broj: 168531
Poruke: 74
87.116.179.*



+8 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 21:38 - pre 51 meseci
Lambda izraz ti je interface sa jednom metodom.

Morao bi da implemetiras taj interfejs i da pozoves metodu nad instancom te implementacije, ili koristeci anonimne klasu. Cetvrti nacin da ja znam ne postoji.

Mada ne znam sto bezis od labmda izraza.

Edit:

Ti onda zelis anonimnu klasu.

Code (java):

    Predicate<String> isEmpty = new Predicate<String>() {
        @Override
        public boolean test(String s) {
            return s != null && s.isEmpty();
        }
    }

 
 
Odgovor na temu

FooLControL
Serbia

Član broj: 168531
Poruke: 74
87.116.179.*



+8 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 21:43 - pre 51 meseci
Citat:
timberman:
Kod ovog koda mi NetBeans nudi This anonymous inner class creation can be turned into a lambda expression i kada to odradim kod postaje

Code (java):

  Button btn = new Button();
        btn.setText("Kako se zoveš?");
        btn.setOnAction((ActionEvent event) -> {
            String ime=JOptionPane.showInputDialog("Unesite ime");
            btn.setText("Zdravo, "+ime);
        });
 


E ja hoću unazad, od ovog drugog da dobijem prvo.


Pa sto prihvatas to sto ti NetBeans nudi ako neces?
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 22:10 - pre 51 meseci
Prihvatio sam da bih pokazao šta želim. Želim onaj kod iz pvog posta da napišem kao anonimnu klasu. Našao sam takav kod, nisam ga ja prebacio u lambda izraz
 
Odgovor na temu

FooLControL
Serbia

Član broj: 168531
Poruke: 74
87.116.179.*



+8 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 22:39 - pre 51 meseci
Pa samo napravis anonimnu klasu, new i naziv interfejsa sa tipom koji treba da se implementira.

Evo kod iz glave otprilike.

Code (java):


EventHandler<ActionEvent> handler = new EventHandler<>() {

   @Override
   public void handle(ActionEvent event) {

      String pressedBtns = ((Button) event.getSource()).getText();

      switch (pressedBtns) {
         // Neki kod
      }
   }
};

 
 
Odgovor na temu

timberman

Član broj: 315940
Poruke: 106



+6 Profil

icon Re: Kako prevesti Lambda Expression u metod15.01.2020. u 22:58 - pre 51 meseci
To je to. Ni sam ne znam koliko sa puta probao, čini mi se sve isto. Hvala!
 
Odgovor na temu

[es] :: Java :: Kako prevesti Lambda Expression u metod

[ Pregleda: 1228 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.