logo

Arrow Operator i Java

Piloperatoren (->) i Java er forklaret i denne artikel sammen med noget eksempelkode for at hjælpe dig med at forstå konceptet.

Piloperatoren, som bruges til at skabe lambda-udtryk, blev introduceret sammen med tilføjelsen af ​​lambda-udtryksfunktionaliteten i Java 8. Den adskiller udtrykkets krop fra argumenterne.

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

For at gøre Java-kode mere forståelig og kortfattet, kan lambda-udtryk, som blev introduceret af Java 8, anvendes til anonyme klasser.

En illustration af, hvordan man bygger en anonym klasse ved hjælp af Java før Java 8, er vist nedenfor.

centrale java-interviewspørgsmål
 Runnable r1 = new Runnable() { @Override public void run() { System.out.print(' method Run '); } }; 

Og her er, hvordan vi kan udføre den førnævnte opgave i Java 8 ved at bruge et lambda-udtryk.

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

For bedre at forstå, hvordan man bruger lambda- og pileoperatorerne, lad os starte med nogle eksempler.

Hvordan bruger man Arrow Operator i Java?

I denne illustration blev draw()-metoden for både Drawable-grænsefladen implementeret ved hjælp af et lambda-udtryk og pileoperatoren. Se illustrationen 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(); } } 

Produktion:

sortere et array java
Arrow Operator i Java

Vi kan bruge lambda-udtryk i Java-programmering på en række forskellige måder, fordi det er en fantastisk teknik til at skrive kortfattet kode ved hjælp af en funktionel tilgang. Her er flere tilfælde, hvor vi kan bruge det.

Array Operator i Java-samling

I denne illustration bruger vi et lambda-udtryk til at filtrere data fra en ArrayList. For at opnå det ønskede resultat brugte vi filter() metoden og stream API. Du kan se, hvor meget enklere lambdakode er at skrive end ikke-lambdakode. Se illustrationen 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>

Produktion:

række af strenge c programmering
 Tutorial and example: 100500.0 Website: 25000.0 

Array-operator i Java-tråd

For at implementere run()-metoden for både den kørebare grænseflade, brugte vi lambda-udtryk i dette tilfælde. Et lambda-udtryk kan nemt bruges, fordi Runnable har en enkelt metodegrænseflade. se illustrationen 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(); } } 

Produktion:

 Thread is running...