public class MyGenericTest3<T >{
public <T extends Number> Double add(T t1,T t2){
double sum=0;
if (t1 instanceof Integer) {
sum=sum+((Integer)t1).intValue();
}else if (t1 instanceof Long) {
sum=sum+((Long)t1).longValue();
}else if (t1 instanceof Short) {
sum=sum+((Short)t1).shortValue();
}
else if (t1 instanceof Float) {
sum=sum+((Float)t1).floatValue();
}
else if (t1 instanceof Double) {
sum=sum+((Double)t1).doubleValue();
}
if (t2 instanceof Integer) {
sum=sum+((Integer)t2).intValue();
}else if (t2 instanceof Long) {
sum=sum+((Long)t1).longValue();
}else if (t2 instanceof Short) {
sum=sum+((Short)t2).shortValue();
}
else if (t2 instanceof Float) {
sum=sum+((Float)t2).floatValue();
}
else if (t2 instanceof Double) {
sum=sum+((Double)t2).doubleValue();
}
System.out.println("sum="+sum);
return sum;
}
public static void main(String[] args) {
MyGenericTest3<Number> my=new MyGenericTest3<>();
my.add(10,2.5f);
System.out.println(my.add(10,2.5f));
}
}