logo

Arrow Operator i Java

Piloperatoren (->) i Java er forklart i denne artikkelen sammen med litt eksempelkode for å hjelpe deg med å forstå konseptet.

Piloperatoren, som brukes til å lage lambda-uttrykk, ble introdusert sammen med tillegget av lambda-uttrykksfunksjonaliteten i Java 8. Den deler uttrykkskroppen fra argumentene.

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

For å gjøre Java-kode mer forståelig og konsis, kan lambda-uttrykk, som ble introdusert av Java 8, brukes på plass for anonyme klasser.

En illustrasjon av hvordan du bygger en anonym klasse ved å bruke Java før Java 8 er vist nedenfor.

kjerne java intervju spørsmål
 Runnable r1 = new Runnable() { @Override public void run() { System.out.print(' method Run '); } }; 

Og her er hvordan vi kan utføre den nevnte oppgaven i Java 8 ved å bruke et lambda-uttrykk.

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

For bedre å forstå hvordan du bruker lambda- og piloperatorene, la oss starte med noen eksempler.

Hvordan bruker jeg Arrow Operator i Java?

I denne illustrasjonen ble draw()-metoden for både Drawable-grensesnittet implementert ved hjelp av et lambda-uttrykk og piloperatoren. Se illustrasjonen nedenfor.

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(); } } 

Produksjon:

Javafx opplæring
Arrow Operator i Java

Vi kan bruke lambda-uttrykk i Java-programmering på en rekke måter fordi det er en flott teknikk for å skrive kortfattet kode ved å bruke en funksjonell tilnærming. Her er flere tilfeller der vi kan bruke det.

Array Operator i Java-samling

I denne illustrasjonen bruker vi et lambda-uttrykk for å filtrere data fra en ArrayList. For å oppnå ønsket resultat brukte vi filter()-metoden og stream API. Du kan se hvor mye enklere lambdakode er å skrive enn ikke-lambdakode. Se illustrasjonen nedenfor.

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>

Produksjon:

statisk i c
 Tutorial and example: 100500.0 Website: 25000.0 

Array-operator i Java-tråd

For å implementere run()-metoden for både det kjørbare grensesnittet, brukte vi lambda-uttrykk i dette tilfellet. Et lambda-uttrykk kan enkelt brukes fordi Runnable har et enkelt metodegrensesnitt. se illustrasjonen nedenfor.

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(); } } 

Produksjon:

 Thread is running...