A wildcard character in a Java generic can directly define the parameters of a generic type. Instead of defining the function as a generic function.
Public classGenericstest { Public Static voidMain (string[] args) {List<String> name =NewArraylist<string>(); List<Integer> age =NewArraylist<integer>(); List<Number> number =NewArraylist<number>(); Name.add ("Icon"); Age.add (18); Number.add (314); //Getupernumber (name);//1Getupernumber (age);//2Getupernumber (number);//3 }
Wildcard method implementation, very concise Public Static voidGetData (list<?>data) {System.out.println ("Data:" + data.get (0)); } Public Static voidGetupernumber (list<, extends number>data) {System.out.println ("Data:" + data.get (0)); }
Common Way implementation
<T>void GetData (list<t> data) { System.out.println ("Data:" + data.get (0)) ; } <t extends number>void Getupernumber (list<t> data) { System.out.println ("Data:" + data.get (0)); }
}
Wildcard characters in Java generics