关于java泛型

鉴于描述原来的问题有点麻烦,我举个简单的例子
假如我现在要计算两个数字A+B+A*B+A/B(这两个数字类型相同,但其类型可以是int,float,long,double等,或者要求它们是Integer,Float,Long,Double也可以)
可以将计算方法封装到一个独立的类
为了便于维护,我想只写一个运算逻辑,也就是A+B+A*B+A/B

有阵子没碰java了,不知道这问题是我把原来的知识忘了,还是java那鸡肋的泛型本身的局限

[code="java"] public static double caculate(T a, T b) {
double d = a.doubleValue() + b.doubleValue() + a.doubleValue() * b.doubleValue()
+ a.doubleValue() / b.doubleValue();
return d;
}[/code]

指定返回值的类型应该就行了

public T methodName(Class clazz, ...)

return clazz.cast(result);

我觉得最好还是写一个同名方法用long和double参数重载好些。例如:
[code]
public long method(long a,long b){}
public double mehtod(double a,double b){}
[/code]

public static Number caculate(T a, T b) {
if (a instanceof Integer) {
return (Number) (a.intValue() + b.intValue());
}
}

[code="java"]public static Number caculate(T a, T b) {
if (a instanceof Integer) {
return (Number) (a.intValue() + b.intValue());
}
}[/code]