当前页面: 开发资料首页 → J2SE 专题 → 关于Number的想法
关于Number的想法
摘要: 关于Number的想法
关于Number的想法
public interface Operationg {
public static Number add(Number a, Number b) ;
}
如上,我想做的就是想要实现上面那个方法,
如 OperationImp.add(0.1,100);
返回一个Number,并且运算的时候按照基础类型的运算法则,转为float来运算。
请问大家,我的想法有实现的方法吗
你在接口里,方法的声明不允许加static
其他的都没什么,只要实现这个接口就可以了
谢谢,不过我实际想做是
Integer a = 100;
Double b = 200.0;
OperationImp.add(a,b);
这样在实现的那个方法中
public Number add(Number a, Number b) {
//这里不能用return a+b;应该怎么写
}
那你干脆不要用接口, 直接写类不就行了么?
呵呵,
那就写成类
public class Operation {
public Number add(Number a, Number b) {
//请问这边怎么写?
//我现在只想到的方法为
if (a.getClass().equals(Integer.class)) {
if (b.getClass().equals(Integer.class)) {
return a.intValue()+b.intValue();
} else if (b.getClass().equals(Float.class)) {
return a.intValue()+b.floatValue();
}
.......
}
.......
//做几个判断(a.getClass()).equals(Integer.class)//Float.class....
//然后return a.intValue().b.flatValue();如果这样做,那么就不太方便
//不知道有没有别的方法
}
}
这样做的效率还不如直接都转成long来计算的效率高,我就是想知道这边有什么好的转换方法,麻烦大家了
没有long的高是肯定的,什么方法都没有long的高
如果按照楼上的说法,那么还要int,short,double干什么,直接所有的计算都用long来计算不就得了,还比较正确,只在最后结果的时候取相应的小数位,或者整数什么的