其实这样写也没问题
如果参数可以改为Integer的话,可以按照2楼的方式判空
如果是简化代码,可以再写个方法public void getTime() {
getTime(0, false);
}public void getTime(int num) {
getTime(num, true);
}private void getTime(int num, boolean hasArg) {
long start = System.currentTimeMillis();
if (hasArg) {
runPro(num);
} else {
runPro();
}
long end = System.currentTimeMillis();
System.out.println("runPro的运行时间是:" + (end - start) + "毫秒");
}

解决方案 »

  1.   

    如果只是要打印runPro函数运行的时间。本人觉得没必要专门用getTime方法。
    把这两句分别加在runPro函数的第一句和最后一句(如果要打印的话,最后加上一句System.out.println...)
      

  2.   


    非常感谢,提供了一个思路,不过按照这种方式的话,其实:
    public void getTime() {
    getTime(0, false);
    }public void getTime(int num) {
    getTime(num, true);
    }
    这两个函数也可以省略!
      

  3.   

    要看 runPro 里面写的是什么才行。楼上的方法我不推荐,如果有两个参数、三个参数的怎么处理?getTime 里得有多少判断?
      

  4.   

    因为 getTime 这个方法需要重载,那是因为 runPro 方法是个重载方法,所以需要在根源上看一下。