Bounded
type parameters are the key feature to implement Generic Algorithms.
To
declare a bounded type parameter, list the type parameter's name,
followed by the extends keyword, followed by its upper bound, which
in this example is Number.
Example
<T extends Number> T sum(T
var1, T var2)
class Print{ <T extends Number> void show(T var1, T var2){ System.out.println(var1 + " is of type " + var1.getClass().getName()); System.out.println(var2 + " is of type " + var2.getClass().getName()); } public static void main(String args[]){ Print s1 = new Print(); s1.show(10,11.12); } }
Output
10 is of type java.lang.Integer 11.12 is of type java.lang.Double
<T
extends Number> void show(T var1, T var2)
As
you observe the above statement, 'T' extends the Number class, so T
can accept any values, which is of type Number and its sub classes.
Since Number is the upper bound for the Type variable 'T'.
class Print{ <T extends Number> void show(T var1, T var2){ System.out.println(var1 + " is of type " + var1.getClass().getName()); System.out.println(var2 + " is of type " + var2.getClass().getName()); } public static void main(String args[]){ Print s1 = new Print(); s1.show("HI", new Object()); } }
When
you tries to compile the above program, compiler throws the below
error.
Prevoius Next Home
No comments:
Post a Comment