Kaip naudoti vartotojo sąsają „Java“?

Kaip Naudoti Vartotojo Sasaja Java



Java programoje „ Vartotojas “ sąsaja reiškia operaciją, kuri gauna vieną įvestį ir atlieka tam tikrą veiksmą negrąžindama rezultato. Tai taip pat siūlo lankstų būdą apibrėžti pasirinktines operacijas, kurios gali būti naudojamos funkciniam programavimui, pavyzdžiui, lambda išraiškoms. Šis tinklaraštis iliustruoja vartotojo sąsajos įdiegimą „Java“.

Kaip naudoti vartotojo sąsają „Java“?

Vartotojas “ sąsaja siūlo inkapsuliavimą arba elgseną, kurią galima perduoti ir vykdyti įvairiose programos vietose. Tai skatina daugkartinio naudojimo elgesį, kuris gali būti pritaikytas skirtingoms įvestims nedubliuojant kodo. Vartotojo sąsają sudaro du metodai, būtent „ ir tada() “ ir „ priimti() “.







Peržiūrėkite toliau pateiktus pavyzdžius, kad suprastumėte abi funkcijas kartu su kodeko pavyzdžiais:



1 pavyzdys: „andThen()“ metodo naudojimas



Kūrėjas gali sujungti kelis Vartotojas “ operacijas naudojant „ ir tada() “ metodas. Tai grąžina naują ' Vartotojas “, kuri atlieka dabartinės “ Vartotojas ' instancija. Po to vykdo būsimo/po „ Vartotojas ' instancija. Tai numatytasis metodas, plačiai naudojamas procesui „ Sudėtis “.





„“ sintaksė ir tada() “ metodas įterpiamas žemiau:

ir tada ( Vartotojas < ? super T > po to )



ir tada() 'metodas sujungia dabartinį vartotoją' super 'su kitu vartotoju' po to “. Ir ji pirmiausia atlieka esamo vartotojo operaciją, o po to – pateikto vartotojo operaciją.

Peržiūrėkime programą, kad geriau suprastume:

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

viešoji klasė Šaknis {
viešas statinis tuštumas pagrindinis ( Styginių args [ ] )
{
// pagrindinio metodo sukūrimas
Vartotojas < Sąrašas < Sveikasis skaičius > > dauginti = dataEle - >
{
dėl ( int j = 0 ; j < dataEle.size ( ) ; j++ ) {
dataEle.set ( j, 5 * dataEle.get ( j ) ) ;
}
} ;
// Vartotojas, kad būtų rodomas sveikųjų skaičių sąrašas
Vartotojas < Sąrašas < Sveikasis skaičius > >
spaudiniai = dataEle - > dataEle.stream ( ) .kiekvienam ( k - > System.out.print ( k + ' ' ) ) ;

Sąrašas < Sveikasis skaičius > dataEle = naujas ArrayList < Sveikasis skaičius > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
padauginti.ir Tada ( spaudiniai ) .priimti ( dataEle ) ;
}
}

Aukščiau pateikto kodo paaiškinimas:

  • Pirma, „ Vartotojas “, „ LinkedList “ ir susijusios paslaugos importuojamos į „Java“ failą. Po to pagrindinė klasė pavadinimu „ Šaknis “ yra sukurtas.
  • Tada sukurkite sąrašo tipo „vartotojo“ sąsają pavadinimu „ padauginti “ ir nustatykite jį lygų „ ArrayList “, kuris bus sukurtas žemiau.
  • Jis naudoja ' dėl ' kilpa, kuri kartojama iki ' ArrayList ' pavadintas ' dataEle “ ir padaugina kiekvieną „“ duomenų elementą dataEle ' su ' 5 “.
  • Po to antras ' Vartotojas Sukurta sąsaja, kuri atspausdina kiekvieną konsolės elementą, kuris gaunamas po daugybos iš srauto proceso.
  • Dabar sukurkite ir pridėkite netikrus duomenų elementus į „ dataEle “ ArrayList.
  • Pabaigoje „ ir tada() “ metodas vadinamas su „ priimti() 'metodas, kuris priima' dataEle ' ArrayList ir grąžina rezultatą ' padauginti ' sekoje.

Pasibaigus vykdymo etapui:

Momentinė nuotrauka rodo, kad daugybos užduotis buvo atlikta naudojant „ ir tada() “ metodas “ Vartotojas “ sąsaja.

2 pavyzdys: „accept()“ metodo naudojimas

priimti() metodas yra funkcinis metodas Vartotojas “ sąsaja. Jis priima vieną argumentą tipo ' T “ ir atlieka jame nurodytas/reikalingas operacijas. vertė ' Null “ neturi būti jai pateikta, nes ji nepriima „ Null “ vertės ir sukuria išimtį.

Jo sintaksė pateikta žemiau:

negaliojantis priėmimas ( < stiprus > T stiprus > t )

Aukščiau pateiktoje sintaksėje „ t “ yra vienintelis argumentas, kuriuo remiantis atliekamos tam tikros operacijos.

Apsilankykite toliau pateiktame kodo bloke, kad geriau suprastume:

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

// komunalinių paslaugų importas in Java failą
viešoji klasė Šaknis {
viešas statinis tuštumas pagrindinis ( Styginių args [ ] ) // pagrindinio metodo sukūrimas
{
Vartotojas < Sveikasis skaičius > disp = k - > System.out.println ( k ) ;
disp.priimti ( 255 ) ;
Vartotojas < Sąrašas < Sveikasis skaičius > > dauginti = dataEle - >
{
dėl ( int k = 0 ; k < dataEle.size ( ) ; k++ )
dataEle.set ( k, 5 * dataEle.get ( k ) ) ;
} ;

Vartotojas < Sąrašas < Sveikasis skaičius > >
spaudiniai = dataEle - > dataEle.stream ( ) .kiekvienam ( j - > System.out.print ( j +
) ) ;
Sąrašas < Sveikasis skaičius > dataEle = naujas ArrayList < Sveikasis skaičius > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
// Įdiekite modifikuoti naudodami priimti ( )
padauginti.priimti ( dataEle ) ;
// Įdiekite dispList naudodami „accept“. ( )
spausdina.priimti ( dataEle ) ;
}
}

Aukščiau pateikto kodo paaiškinimas:

  • Pirma, „ Vartotojas ' sąsaja pavadinta ' disp “ sukuriamas, kuris rodo pateiktus parametrus konsolėje, neatliekant jokios operacijos.
  • Dabar „ priimti() “ metodas vadinamas „ disp „Vartotojas ir „vertė“ 255 “ yra perduodamas šiam metodui.
  • Toliau dar vienas „ Vartotojas “ sukurta sąsaja, kuri naudoja „ dėl “ kilpa, skirta daugybai pritaikyti kiekvienam esančiam „ArrayList“ elementui pavadinimu „ dataEle “.
  • Po to sukurkite dar vieną ' Vartotojas ' sąsaja, kad būtų rodomas ' dataEle “ elementai atsiranda pritaikius daugybą, gaunamą iš srauto.
  • Tada inicijuokite „ArrayList“ dataEle “ su netikrais duomenų elementais ir naudokite „ priimti() “ metodas su „ padauginti “ sąsaja.
  • Pabaigoje paskambinkite „ priimti() “ metodas naudojant „ spaudiniai “ sąsaja, kad būtų rodomas rezultatas pritaikius daugybą konsolės žurnale.

Pasibaigus vykdymui:

Aukščiau pateikta momentinė nuotrauka rodo, kad kelios vartotojų sąsajos buvo iškviestos po vieną, naudojant „ priimti() “ metodas.

3 pavyzdys: Poveikiui skirtos funkcijos tvarkymo išimtis

Išimtis atsiranda tada, kai „ po to “ funkcija ir tada() “ metodu yra „ priimti() “ metodas. Tai sukuria sąsają, kurioje saugomi duomenys, kuriuos turi apdoroti sąsajos naudojant vartotojo sąsajos metodus, kaip parodyta toliau:

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

viešoji klasė Šaknis {
viešas statinis tuštumas pagrindinis ( Styginių args [ ] )
{
Vartotojas < Sąrašas < Sveikasis skaičius > > padauginti = dataEle - >
{
dėl ( int j = 0 ; j < = dataEle.size ( ) ; j++ )
dataEle.set ( j, 5 * dataEle.get ( j ) ) ;
} ;
// Vartotojas, kad būtų rodomas sveikųjų skaičių sąrašas
Vartotojas < Sąrašas < Sveikasis skaičius > >
spausdinti = dataEle - > dataEle.stream ( ) .kiekvienam ( aš - > System.out.print ( aš + ' ' ) ) ;
Sąrašas < Sveikasis skaičius > dataEle = naujas ArrayList < Sveikasis skaičius > ( ) ;
dataEle.add ( 4 ) ;
dataEle.add ( 7 ) ;
dataEle.add ( 12 ) ;
dataEle.add ( 16 ) ;
bandyti {
spausdinti.ir Tada ( padauginti ) .priimti ( dataEle ) ;
}
sugauti ( Išimtis e ) {
System.out.println ( Išimtis: + ir ) ;
}
}
}

Aukščiau pateikto kodo bloko paaiškinimas:

  • Pirma, „ Vartotojas 'sukurta sąsaja, kuri tiesiog kelios' 5 “ sveikieji skaičiai su duomenų elementais, esančiais pateiktame „ArrayList“.
  • Kitas, antrasis ' Vartotojas “ sąsaja sukurta, kad būtų rodomas kiekvienas srauto gaunamas ArrayList duomenų elementas.
  • Po to „ArrayList“ sukuriamas ir inicijuojamas su fiktyvaus sveikojo skaičiaus tipo reikšmėmis.
  • Tada ' bandyti ' blokas naudojamas, kuriame ' ir tada() “ metodas vadinamas „ spausdinti “ sąsaja.
  • Tai sukelia „ IndexOutOfBoundsException ' nes ' dėl viršijamas ciklo iteracijos limitas, kurį išsprendžia „ sugauti “ blokas.

Pasibaigus vykdymo etapui:

Momentinė nuotrauka rodo, kad „IndexOutOfBoundsException“ sukūrė kompiliatorius.

Išvada

Vartotojas ” sąsaja suteikia galimybę apibrėžti daugkartinio naudojimo elgesį ir atlikti veiksmus su įvesties duomenimis negrąžinant rezultato. Tai susideda iš ' priimti() “ ir „ ir tada() “ metodai. Jis dažnai naudojamas duomenų apdorojimo užduotims, kai vartotojai turi atlikti veiksmą su kiekvienu kolekcijos ar srauto elementu. Tai viskas apie „Java“ vartotojo sąsajos naudojimą ir įgyvendinimą.