Divkāršā kola (::) operators Java valodā
The dubultā kola (::) operators , zināms arī kā metodes atsauces operators Java izmanto, lai izsauktu metodi, tieši atsaucoties uz to ar savas klases palīdzību. Tie darbojas tieši tāpat kā lambda izteiksmes. Vienīgā atšķirība no lambda izteiksmēm ir tāda, ka tā izmanto tiešu atsauci uz metodi pēc nosaukuma, nevis nodrošina metodes delegātu.
Sintakse:
::
Piemērs: Lai izdrukātu visus straumes elementus:
- Izmantojot Lambda izteiksmi:
stream.forEach( s->System.out.println(s));
Programma:
// Java code to print the elements of Stream>// without using double colon operator>>import>java.util.stream.*;>>class>GFG {>>public>static>void>main(String[] args)>>{>>>// Get the stream>>Stream stream>>= Stream.of(>'Geeks'>,>'For'>,>>'Geeks'>,>'A'>,>>'Computer'>,>>'Portal'>);>>>// Print the stream>>stream.forEach(s ->System.out.println(s));>>
Izvade:Geeks For Geeks A Computer Portal
- Izmantojot dubultās kolas operatoru:
stream.forEach( System.out::println);
Programma: Demonstrēt dubultās resnās zarnas operatora lietošanu
// Java code to print the elements of Stream>// using double colon operator>>import>java.util.stream.*;>>class>GFG {>>public>static>void>main(String[] args)>>{>>>// Get the stream>>Stream stream>>= Stream.of(>'Geeks'>,>'For'>,>>'Geeks'>,>'A'>,>>'Computer'>,>>'Portal'>);>>>// Print the stream>>// using double colon operator>>stream.forEach(System.out::println);>>}>}>
Izvade:Geeks For Geeks A Computer Portal
Kad un kā lietot dubultās resnās zarnas operatoru?
Metodes atsauci vai dubultās kolas operatoru var izmantot, lai atsauktos:
- statiska metode,
- gadījuma metode vai
- konstruktors.
Kā Java izmantot metodes atsauci:
- Statiskā metode
Sintakse:
(ClassName::methodName)
Piemērs:
SomeClass::someStaticMethod
Programma:
// Java code to show use of double colon operator>// for static methods>>import>java.util.*;>>class>GFG {>>>// static function to be called>>static>void>someFunction(String s)>>{>>System.out.println(s);>>}>>>public>static>void>main(String[] args)>>{>>>List list =>new>ArrayList();>>list.add(>'Geeks'>);>>list.add(>'For'>);>>list.add(>'GEEKS'>);>>>// call the static method>>// using double colon operator>>list.forEach(GFG::someFunction);>>}>}>
Izvade:Geeks For GEEKS
- Instanču metode
Sintakse:
(objectOfClass::methodName)
Piemērs:
System.out::println
Programma:
// Java code to show use of double colon operator>// for instance methods>>import>java.util.*;>>class>GFG {>>>// instance function to be called>>void>someFunction(String s)>>{>>System.out.println(s);>>}>>>public>static>void>main(String[] args)>>{>>>List list =>new>ArrayList();>>list.add(>'Geeks'>);>>list.add(>'For'>);>>list.add(>'GEEKS'>);>>>// call the instance method>>// using double colon operator>>list.forEach((>new>GFG())::someFunction);>>}>}>
Izvade:Geeks For GEEKS
- Super metode
Sintakse:
(super::methodName)
Piemērs:
super::someSuperClassMethod
Programma:
// Java code to show use of double colon operator>// for super methods>>import>java.util.*;>import>java.util.function.*;>>class>Test {>>>// super function to be called>>String print(String str)>>{>>return>(>'Hello '>+ str +>' '>);>>}>}>>class>GFG>extends>Test {>>>// instance method to override super method>>@Override>>String print(String s)>>{>>>// call the super method>>// using double colon operator>>Function>>func =>super>::print;>>>String newValue = func.apply(s);>>newValue +=>'Bye '>+ s +>' '>;>>System.out.println(newValue);>>>return>newValue;>>}>>>// Driver code>>public>static>void>main(String[] args)>>{>>>List list =>new>ArrayList();>>list.add(>'Geeks'>);>>list.add(>'For'>);>>list.add(>'GEEKS'>);>>>// call the instance method>>// using double colon operator>>list.forEach(>new>GFG()::print);>>}>}>
Izvade:Hello Geeks Bye Geeks Hello For Bye For Hello GEEKS Bye GEEKS
- Konkrēta tipa patvaļīga objekta gadījuma metode
Sintakse:
(ClassName::methodName)
Piemērs:
SomeClass::someInstanceMethod
Programma:
// Java code to show use of double colon operator>// for instance method of arbitrary type>>import>java.util.*;>>class>Test {>>String str=>null>;>>Test(String s)>>{>>this>.str=s;>>}>>// instance function to be called>>void>someFunction()>>{>>System.out.println(>this>.str);>>}>}>>class>GFG {>>>public>static>void>main(String[] args)>>{>>>List list =>new>ArrayList();>>list.add(>new>Test(>'Geeks'>));>>list.add(>new>Test(>'For'>));>>list.add(>new>Test(>'GEEKS'>));>>>// call the instance method>>// using double colon operator>>list.forEach(Test::someFunction);>>}>}>
Izvade:Geeks For GEEKS
- Klases konstruktors
Sintakse:
(ClassName::new)
Piemērs:
ArrayList::new
Programma:
// Java code to show use of double colon operator>// for class constructor>>import>java.util.*;>>class>GFG {>>>// Class constructor>>public>GFG(String s)>>{>>System.out.println(>'Hello '>+ s);>>}>>>// Driver code>>public>static>void>main(String[] args)>>{>>>List list =>new>ArrayList();>>list.add(>'Geeks'>);>>list.add(>'For'>);>>list.add(>'GEEKS'>);>>>// call the class constructor>>// using double colon operator>>list.forEach(GFG::>new>);>>}>}>
Izvade:Hello Geeks Hello For Hello GEEKS
Jums Varētu Patikt
Top Raksti
Kategorija
Interesanti Raksti
- Izmantojot dubultās kolas operatoru: