logo

Nuolioperaattori Javassa

Javan nuolioperaattori (->) selitetään tässä artikkelissa sekä esimerkkikoodi, joka auttaa sinua ymmärtämään käsitteen.

Nuolioperaattori, jota käytetään luomaan lambda-lausekkeita, otettiin käyttöön yhdessä lambda-lauseketoiminnon lisäämisen kanssa Java 8:ssa. Se erottaa lausekkeen rungon argumenteista.

 (parameters) -> { statements; } // Lambda expression having arrow 

Java-koodin ymmärtämiseksi ja ytimekkäämiseksi Java 8:n käyttöön ottama lambda-lauseke voidaan käyttää anonyymien luokkien paikallaan.

Alla on esimerkki nimettömän luokan rakentamisesta Javalla ennen Java 8:aa.

python-ohjelmat
 Runnable r1 = new Runnable() { @Override public void run() { System.out.print(' method Run '); } }; 

Ja näin voimme suorittaa edellä mainitun tehtävän Java 8:ssa käyttämällä lambda-lauseketta.

 Runnable r1 = ()-> System.out.print(' method Run '); 

Ymmärtääksemme paremmin, kuinka lambda- ja nuolioperaattoreita käytetään, aloitetaan muutamalla esimerkillä.

Kuinka käyttää Arrow Operatoria Javassa?

Tässä kuvassa sekä Drawable-rajapinnan draw()-menetelmä toteutettiin lambda-lausekkeen ja nuolioperaattorin avulla. Katso alla olevaa kuvaa.

java kytkin int

M.java

 interface Drawable{ public void draw(); } public class M { public static void main(String[] args) { int w = 20; // arrow operator Drawable d=()->{ System.out.println(' Drawing width is '+w); }; d.draw(); } } 

Lähtö:

1-100 roomalainen nro
Nuolioperaattori Javassa

Voimme hyödyntää lambda-ilmaisua Java-ohjelmoinnissa monin eri tavoin, koska se on loistava tekniikka kirjoittaa ytimekäs koodi toiminnallisesti. Tässä on useita tapauksia, joissa voimme käyttää sitä.

Array Operator Java-kokoelmassa

Tässä kuvassa käytämme lambda-lauseketta tietojen suodattamiseen ArrayLististä. Halutun tuloksen saavuttamiseksi käytimme filter()-menetelmää ja stream API:ta. Näet kuinka paljon yksinkertaisempaa on kirjoittaa lambda-koodi kuin ei-lambda-koodi. Katso alla olevaa kuvaa.

M1.java

 package javaexample; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; class P{ int id; String n; float pri; public P(int id, String n, float pri) { this.id = id; this.n = n; this.pri = pri; } } public class M1{ public static void main(String[] args) { List<p> l = new ArrayList</p><p>(); l.add(new P(1,&apos; JavaTpoint &apos;,17000)); l.add(new P(3,&apos; Tutorial and example &apos;,100500)); l.add(new P(2,&apos; Website &apos;,25000)); // using the arrow to filter data Stream</p><p> filtered_data = l.stream().filter(q -&gt; q.pri &gt; 17000); filtered_data.forEach( p -&gt; System.out.println(p.n+&apos;: &apos;+p.pri) ); } } </p>

Lähtö:

etsi merkkijonosta c++
 Tutorial and example: 100500.0 Website: 25000.0 

Array-operaattori Java-säikeessä

Toteuttaaksemme molempien suoritettavien käyttöliittymien run()-menetelmän, käytimme tässä tapauksessa lambda-lauseketta. Lambda-lauseketta voidaan käyttää helposti, koska Runnablessa on yksi menetelmäliittymä. katso alla olevaa kuvaa.

M3.java

 package javaexample; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; public class M3{ public static void main(String[] args) { // using arrow operator Runnable r1=()-&gt;{ System.out.println(&apos; Thread is running... &apos;); }; Thread t1 = new Thread(r1); t1.start(); } } 

Lähtö:

 Thread is running...