我正在尝试编写一个获取a的方法double,验证数字是否在点之后有一些东西,如果它确实 - 返回一个double,如果没有 - 返回一个int.
public class Solution {
    public static void main(String[] args) {
        double d = 3.000000000;
        System.out.println(convert1(d));
        System.out.println(convert2(d));
    }
    static Object convert1(double d) {
        if(d % 1 == 0)
            return (int) d;
        else
            return d;
    }
    static Object convert2(double d) {
        return ((d%1) == 0) ? ((int) (d)) : d;
    }
}
输出:
3
3.0
所以,我想要的一切都发生在方法中convert1(),但不会发生在方法中convert2().看来这些方法必须做同样的工作.但我做错了什么?