Well there's no difference between the first two - they're just using different names for the type parameter ( E or T).The third isn't a valid declaration -? Is used as a wildcard which is used when providing a type argument, e.g. Means that foo refers to a list of some type, but we don't know what.All of this is generics, which is a pretty huge topic. You may wish to learn about it through the following resources, although there are more available of course:. Angelika Langer's (massive and comprehensive; more for reference though). The point of that example is to show a signature which polymorphically supports a List of Number and the sub-types of Number.
For this, you use 'extends'. I.e., 'pass me a List of Number or anything that extends Number' (List, List, whatever).
![Super t in java Super t in java](/uploads/1/2/4/3/124331847/833304939.jpg)
Java can easily represent ASCII symbols using the char type. 34 is the ASCII code for the ' symbol, so write char(34) to display ' without using its special meaning. You can look up a symbol's ASCII code by searching for an ASCII code table online.
A method like this might then iterate through the list and, for each element, 'e', execute, e.g., e.floatValue. Doesn't matter what sub-type (extension) of Number you pass - you'll always be able to '.floatValue', because.floatValue is a method of Number.–Jun 21 '15 at 23:37.