请教一个重载函数的简洁写法
有两重载函数getTime(),例如是:
/*
 * getTime()函数是计算runPro()函数的运行时间;
 * 有两个getTime函数,区别只在于runPro()函数的参数列表上;
 * 问题是:有什么更加优化的写法,可以让这两个重载的getTime函数看上去更加简洁;
 */
public void getTime(){
	long start = System.currentTimeMillis();
        //runPro()是要运行的函数
	runPro();
	long end = System.currentTimeMillis();
	System.out.println("runPro的运行时间是:" +(end - start) +"毫秒" );
}
public void getTime(int num){
	long start = System.currentTimeMillis();	
	runPro(num);	
	long end = System.currentTimeMillis();
	System.out.println("runPro的运行时间是:" +(end - start) +"毫秒" );
}
------解决方案--------------------其实这样写也没问题
如果参数可以改为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) + "毫秒");
}
------解决方案--------------------优化和优雅不一样,优化是代码有冗余或者累赘的地方可以去简单化。针对你这个功能没啥优化的地方。