Java Generics? ???, ????? ? ????? ?? ?? ??? ???? ??? ?? ?? ??? ???? ??? ?????. ??? ?? (?,? extends type,? Super Type) ????? ???? ?? ??? ?????. 1. ??? ????? ??? ??? ???? ?? ?? ????? ??? ?? > ??????. 2. ??? ??? ?? ?? ?? (? : ?? ?)? ?? ??? ????? ??>? ?????. 3. ?? ??? ??? ?? ?? ?? ??> ??? ???? ??? ????? ?? (? : ??? ?? ??). PECS ??? ?????? : ??? ??, ??? ??. ???? ?? ??? ????? ???? ?? ??? ??? ? ???? ?? ??, ??? ?? ?? ?? ??? ? ??? ??? ?????. ?? ??? ???? ??? ?? ?? ??? ?????. ??? ??? ???? Java ??? ? API? ?? ?? ? ???? ?????.
Java ??? ? ??? ??? ?? ???? ????? ??-?? ?????? ?????? ??? ?????. Compile Time?? ?? ??? ????? ??? ??? ???? ???? ???, ????? ? ??? ???? ?? Java 5? ???????. ??? ??? ??? ??, ?? ??? ??? ???? ?? ??? ? ????. ???? ???? ??? ?????.

Java Generics? ??????
???? ???? ?? ?? ??? ???, ????? ? ???? ?? ? ? ????. Object
? ???? ???? ?? ??? (?? ?? ??)? ?? ??? ??? ????? ??? ? ????.
?:

list <string> names = new ArrayList <> (); names.add ( "Alice"); ??? ?? = names.get (0); // ???? ???? ????
???? ??? ????????.
list names = new ArrayList (); names.add ( "Alice"); ??? ?? = (???) names.get (0); // ClassCastException? ??
???? ???? ???? ???? ??? ?? ?? ??? ?????.

??? ?? : ? ??? ??? ??? ?
??? ??? ? ?? ???? ??? ??? ?? ???? ??? ???? ???? ????. ??? ??? ?? ( ?
)? ???? ????.
? ?? ??? ??? ??? ????.
1. ??? ??? ?? ( <?>
)
??? ??? ?? ?? ????? ??????.
public void printlist (list <?> list) { for (?? ?? : list) { System.out.println (??); } }
??? Object
? ?? ?? ??? ?? ??? ? ? ???? ??? ?? ? ? ???? ( null
??).
SAFE :
list.get(0)
? ???? ?? :list.add("hello")
2. ?? ? ??? ?? ( <? extends Type>
)
???? ?? ??? ????? ?? ??????. "????"?????? ?????? (????? ????).
public double sum (list <? extends number> number) { ?? ?? .Stream () .maptodouble (?? :: doublevalue) .???(); }
? ???? Number
?? ????? List<Integer>
, List<Double>
?? ?????.
??? ?? : Number
? ?? ?? ??? ??? ?? ? ?? ???? ( null
??) - ??? ??? ?? ???? ??? ?? ? ? ????.
? works :
sum(intList)
???intList
List<Integer>
???
? ? ? ?? :numbers.add(new Integer(5))
3. ?? ??? ??? ?? ( <? super Type>
)
???? ?? ??? ????? ?? ??????. "???"?????? ?????? (???? ??).
Public void AddNumbers (List <? Super Integer> ??) { list.add (1); list.add (2); }
??? List<Integer>
, List<Number>
?? List<Object>
?????.
Integer
?? ?? ? ?? ??? ?? ?? Object
?? ?? ? ? ????.
? ?? ? ? ???? :
list.add(42)
?? ??? ??? ????.Object obj = list.get(0);
PECS ?? : ??? ??, ??? ??
???? Java ?? ???? ??? ??? ??? ???? ? ??????.
-
extends
→ ??? ???? ??? (??? ??? ?????) -
super
→ List? ??? ??? (??? ??? ??)
?:
public static <t> void copy (list <? super t> dest, list <? extends t> src) { for (t item : src) { dest.add (??); } }
-
src
T
→ ??? ?????? extends T
-
dest
T
→ ??? ?????? super T
??? ??? Collections.copy()
? ??? ?????.
?? ? ??? ??????
Java ?? ?? Erasure ? ??? - ?? ??? ???? ????? ?? ???? ?? ?????. ??? ??? ?????.
- ???? ??? ????? ? ? ???? :
new T()
? - ?? ??? ???? ??? ?? ?? :
list instanceof List<string></string>
?????. - ?? ??? ??? ??? ?? ? ? ???? :
new List<string>[10]</string>
?
??? ??? JVM? ???? ?? ?? ? ? ? ?? ??? ?????.
???? ??
- ??? ??? ????? ?? ???? ???? ????. ?? ??? ?? ??? ??????.
- ?? ??? ????? (
List
List<string></string>
?? ??) - ???? ??? ?????. - ??? ??? ???? ??? ???????. ??? ???? ??? ? ?????.
??
- ???? ??? ?? ?? ??? ???? ???? ?????.
- ??? ??? ? ? ?? ? ??? ?? (
?
,extends
,super
) ???? ?????. - PECS? ?????? : ????
super
?? ?extends
??????. - ?? ???? ?? ??? ????? ?? ???? ?????.
??? ??? ???? ???, ??? ? API? ?? ???? ???? ?????. PECS? ??? ?? ??? ????? ? ?? ??????.
? ??? ?? ??? ? ??? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Stock Market GPT
? ??? ??? ?? AI ?? ?? ??

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

?? ???? ? ??? ??? ??? ?? ??? ? ??? ?? ???? ???? ? ?????. 1. ??? ???? ????? ????. ofnullable null ?? ?????. 2. ??? ???? ?? ?? ??? ??? ?? Ispresent ?? Ifpresent Security? ???? ?? ???? ???????. 3. Orelse ? Orelseget? ???? ???? ????? OrelsetHrow? ???? ??? ?? ??? ????. 4. ? ? ?? ?? ??? ?? ?? ????? ????? ?? ??? ? ???? ??????.

getClass () ???? ???? class ??? ????? str.getClass ()? ?? ??? ??? ???? ?????. ??? ?? String.class ??? ?? ??? ? ????. ??? ???? getName (), getSimplename ()? ?? ???? ???? Num.getClass (). getSimplename ()? ?? ??? ??? ?? ?? ??? ??? ????.

atwo-dimensionalarrayinjavaisanarrayofarrays, withtwobrackets, likeint [] [] matrix, andcanbeinitializedwithValuesOrusingNew; int [] [] matrix = {{1,2}, {3,4}};

thecurrentworkingdirectoryinjavacanbeobtiredusingsystem.getProperty ( "user.dir"), whithebsolutepathwheretheprogramwaslaunched; onatially, paths.get ( "). toabsolutepath (). tostring ()

AsingletonclassinjavaensuresonlyOneNstance athroughoutanApplication 'slifecycleByUsingAprivateConstructor, aprivatestaticInstance, andapublicstaticgetInstance () ??; ???? ???, ??? ?? ?? ?

genericsinjavaprovidecompile-timetypesafetyandeliminatenateneateThinetEdEneDeTeneDeTeneDeDeMineDeTeneDeDeMineDeDeMineDeDeMined-XLASSES, ????? ? METHODSOPRENTONTYPEPARAMETERS; FOREXALLES, usingListEnsuresOnlyStringsCanBeadded, regineclasscastextions; generticsworkviAtamete? ?????

?? ? ???? ?? ?? ? ??? ???? UC ???? ????? ??? ??? ? ????. 1. ?? → ?? ?? ?? ? ???? ?? → ? ??? ??? ??, ?? ? ???? ???? ???? ?????. 2. ??? ?? ???? ??? ???? ??? ??? ??? ?? ?? ? ???? ???????. 3. ? ??? ??? ?????? ????? ????? ????? ?? ??? ?????.

?????? ?? ?? ????? ???? ???? ???? Wukong ???? ??? ?? ? ? ????. ?? ?? ???? ???? ??? ????? ?? ???? ??? ? ????. ??, ??? ?? ? ??, ?? ???? ?? /data/data/com.wukong.browser/databases/ ??? ????? history.db ??????? ???? sqlite ??? CSV? ?? ?? ? ? ????. ????? Rootless ??? ?? Auto.js ? ?? ??? ???? ????? ???? ??? ???? ???? ???? ???? ???? ?? ?? ??? ?? ?? ??? ??? ??? ? ????.
