Kako uporabljati potrošniški vmesnik v Javi?

Kako Uporabljati Potrosniski Vmesnik V Javi



V Javi je » Potrošnik ” vmesnik predstavlja operacijo, ki prejme en sam vnos in na njem izvede neko dejanje, ne da bi vrnil rezultat. Ponuja tudi prilagodljiv način za definiranje operacij po meri, ki jih je mogoče uporabiti v funkcionalnem programiranju, kot so lambda izrazi. Ta spletni dnevnik ponazarja implementacijo potrošniškega vmesnika v Javi.

Kako uporabljati potrošniški vmesnik v Javi?

' Potrošnik ” vmesnik ponuja enkapsulacijo ali vedenje, ki se lahko posreduje in izvaja na različnih lokacijah v programu. Spodbuja vedenje za večkratno uporabo, ki ga je mogoče uporabiti za različne vnose brez podvajanja kode. Uporabniški vmesnik je sestavljen iz dveh metod, in sicer » in potem() « in » sprejeti() ”.







Oglejte si spodnje primere za razumevanje obeh funkcij skupaj s primeri kodekov:



1. primer: uporaba metode »andThen()«.



Razvijalec lahko veriži več ' Potrošnik ' v celoti z uporabo ' in potem() ” metoda. Vrne nov ' Potrošnik ', ki izvaja operacijo trenutnega ' Potrošnik ” primerek. Po tem izpolni operacije prihajajočega/potem “ Potrošnik ” primerek. To je privzeta metoda, ki se pogosto uporablja za postopek ' Sestava ”.





Sintaksa za » in potem() ” je vstavljena spodaj:

in potem ( Potrošnik < ? super T > po )



' in potem() »metoda združuje trenutnega porabnika« super 'z drugim potrošnikom' po ”. In najprej izvede operacijo trenutnega porabnika, ki ji sledi operacija posredovanega porabnika.

Sprehodimo se skozi program za boljše razumevanje:

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Consumer;

javni razred Root {
javni statični void main ( Argi nizov [ ] )
{
// ustvarjanje glavne metode
Potrošnik < Seznam < Celo število > > pomnoži = dataEle - >
{
za ( int j = 0 ; j < dataEle.size ( ) ; j++ ) {
dataEle.set ( j, 5 * dataEle.get ( j ) ) ;
}
} ;
// Potrošnik za prikaz seznama celih števil
Potrošnik < Seznam < Celo število > >
natisne = dataEle - > dataEle.stream ( ) .za vsakogar ( k - > System.out.print ( k + ' ' ) ) ;

Seznam < Celo število > dataEle = nov ArrayList < Celo število > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
pomnoži.in Potem ( odtisi ) .sprejmi ( dataEle ) ;
}
}

Razlaga zgornje kode:

  • Prvič, ' Potrošnik ”, “ LinkedList ” in povezani pripomočki so uvoženi v datoteko Java. Po tem glavni razred z imenom ' Root « je ustvarjen.
  • Nato ustvarite vmesnik »Potrošnik« tipa List z imenom » pomnožiti « in ga nastavite na » ArrayList «, ki bo ustvarjen spodaj.
  • Uporablja ' za ' zanke, ki se ponavlja do dolžine ' ArrayList 'imenovan' dataEle «, in pomnoži vsak podatkovni element » dataEle ' z ' 5 ”.
  • Po tem, drugi ' Potrošnik ” se ustvari vmesnik, ki natisne vsak element na konzoli, ki je po postopku množenja pridobljen iz toka.
  • Zdaj ustvarite in dodajte navidezne podatkovne elemente v » dataEle ” ArrayList.
  • Na koncu je ' in potem() ' metoda se pokliče z ' sprejeti() »metoda, ki sprejema« dataEle ” ArrayList in vrne rezultat “ pomnožiti ' v zaporedju.

Po koncu izvedbene faze:

Posnetek kaže, da je bila naloga množenja zaključena z uporabo » in potem() ' metoda ' Potrošnik ” vmesnik.

Primer 2: Uporaba metode »accept()«.

' sprejeti() ' je funkcionalna metoda ' Potrošnik ” vmesnik. Sprejme en sam argument tipa ' T ” in izvede določene/potrebne operacije na njem. Vrednost ' Nič ' mu ne smete posredovati, ker ne sprejema ' Nič ” in ustvari izjemo.

Njegova sintaksa je podana spodaj:

neveljavno sprejeti ( < močan > T močan > t )

V zgornji sintaksi je » t ” je edini argument, na podlagi katerega delujejo določene operacije.

Oglejmo si spodnji kodni blok za boljše razumevanje:

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Consumer;

// uvoz pripomočkov v Java mapa
javni razred Root {
javni statični void main ( Argi nizov [ ] ) // ustvarjanje glavne metode
{
Potrošnik < Celo število > disp = k - > System.out.println ( k ) ;
disp.accept ( 255 ) ;
Potrošnik < Seznam < Celo število > > pomnoži = dataEle - >
{
za ( int k = 0 ; k < dataEle.size ( ) ; k++ )
dataEle.set ( k, 5 * dataEle.get ( k ) ) ;
} ;

Potrošnik < Seznam < Celo število > >
natisne = dataEle - > dataEle.stream ( ) .za vsakogar ( j - > System.out.print ( j + '
'
) ) ;
Seznam < Celo število > dataEle = nov ArrayList < Celo število > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
// Izvedite spremembo z uporabo accept ( )
pomnožiti.sprejeti ( dataEle ) ;
// Izvedite dispList z uporabo accept ( )
natisne.sprejmi ( dataEle ) ;
}
}

Razlaga zgornje kode:

  • Prvič, ' Potrošnik »vmesnik z imenom« disp ” se ustvari, ki prikaže podane parametre na konzoli, ne da bi izvedel kakršno koli operacijo.
  • Zdaj pa ' sprejeti() ' metodo kliče ' disp » Potrošnik in vrednost » 255 ” se posreduje tej metodi.
  • Naprej, še en ' Potrošnik ' se ustvari vmesnik, ki uporablja ' za ' zanko za uporabo množenja za vsak stalni element seznama ArrayList z imenom ' dataEle ”.
  • Po tem ustvarite še eno ' Potrošnik ' vmesnik za prikaz ' dataEle ” rezultat po uporabi množenja, ki prihaja iz toka.
  • Nato inicializirajte ArrayList ' dataEle ' z navideznimi podatkovnimi elementi in uporabite ' sprejeti() ' metoda z ' pomnožiti ” vmesnik.
  • Na koncu pokličite » sprejeti() ' metoda z uporabo ' odtisi ” za prikaz rezultata po uporabi množenja v dnevniku konzole.

Po koncu izvedbe:

Zgornji posnetek prikazuje, da je bilo več potrošniških vmesnikov poklicanih enega za drugim z uporabo » sprejeti() ” metoda.

Primer 3: Obravnava izjeme za funkcijo After

Izjema nastane, ko ' po ' funkcija ' in potem() ' metoda vsebuje ' sprejeti() ” metoda. Tako nastane vmesnik, ki vsebuje podatke, ki jih obdelajo vmesniki z uporabo metod potrošniškega vmesnika, kot je prikazano spodaj:

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Consumer;

javni razred Root {
javni statični void main ( Argi nizov [ ] )
{
Potrošnik < Seznam < Celo število > > pomnožiti = dataEle - >
{
za ( int j = 0 ; j < = dataEle.size ( ) ; j++ )
dataEle.set ( j, 5 * dataEle.get ( j ) ) ;
} ;
// Potrošnik za prikaz seznama celih števil
Potrošnik < Seznam < Celo število > >
tiskanje = dataEle - > dataEle.stream ( ) .za vsakogar ( jaz - > System.out.print ( jaz + ' ' ) ) ;
Seznam < Celo število > dataEle = nov ArrayList < Celo število > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
poskusi {
print.andThen ( pomnožiti ) .sprejmi ( dataEle ) ;
}
ulov ( Izjema e ) {
System.out.println ( 'Izjema:' + in ) ;
}
}
}

Razlaga zgornjega kodnega bloka:

  • Prvič, ' Potrošnik ' je ustvarjen vmesnik, ki preprosto več ' 5 ” cela števila s podatkovnimi elementi, ki se nahajajo v podanem ArrayList.
  • Naprej, drugi ' Potrošnik ” vmesnik je ustvarjen za prikaz vsakega podatkovnega elementa seznama ArrayList, ki ga prejme tok.
  • Po tem se ArrayList ustvari in inicializira z navideznimi vrednostmi celega tipa.
  • Potem, ' poskusi ' se uporablja blok, v katerem je ' in potem() ' metodo kliče ' tiskanje ” vmesnik.
  • Povzroča ' IndexOutOfBoundsException ' zaradi ' za ” je presežena omejitev iteracije zanke, ki jo razreši “ ulov ” blok.

Po koncu izvedbene faze:

Posnetek kaže, da je prevajalnik ustvaril izjemo IndexOutOfBoundsException.

Zaključek

' Potrošnik ” Vmesnik ponuja način za definiranje vedenja za večkratno uporabo in izvajanje dejanj na vhodnih podatkih brez vračanja rezultata. Sestavljen je iz ' sprejeti() « in » in potem() ” metode. Pogosto se uporablja za naloge obdelave podatkov, kjer morajo uporabniki izvesti dejanje na vsakem elementu zbirke ali toka. To je vse o uporabi in implementaciji vmesnika Consumer v Javi.