【发布时间】:2018-04-05 21:54:45
【问题描述】:
假设我有这样的代码 sn-ps:
try {
// code I need to wrap to be a helper
long t0 = System.nanoTime();
obj.doSomething(); // a void function
long t1 = System.nanoTime();
Logger.info("doSomthing takes {} nanoseconds", t1-t0);
} catch (IOException ex) {
Logger.error("something wrong happened");
}
// another code
try {
long t0 = System.nanoTime();
obj.doAnotherThing(); // void function
long t1 = System.nanoTime();
Logger.info("doSomthing takes {} nanoseconds", t1-t0);
} catch (IOException ex) {
Logger.error("something wrong happened");
}
所以我的问题实际上是如何将 void 函数作为参数传递给辅助函数,这样我就可以避免用于测量函数执行时间的冗余代码。
跟进:如果 doSomething 可以抛出 IOException 怎么办
在这种情况下,如果我不想在 labmda 中捕获异常,我应该如何调用 lambda 世界中的函数。
谢谢
【问题讨论】:
-
你试过什么?你知道如何使用 lambda,因为你标记了它们?那就试试吧。
-
看
Runnable功能界面。
标签: java function lambda java-8