我一直试图弄清楚是否有办法编写一个将Java 8方法引用作为输入的方法,运行该方法并返回运行所花费的时间。
public static long time(Runnable c) {
long start, end;
start = System.currentTimeMillis();
c.run();
end = System.currentTimeMillis();
return (end - start);
}
这是我到目前为止所做的,但这只适用于没有参数的方法...我正在寻找可以使用可以接受参数的方法的东西。这可能吗?
答案 0 :(得分:6)
好吧,解决方法是将你的方法包装在lambda中
int foo =...
Object bar = ...
long elapsed = time( () -> myMethod(foo, bar));