在java 1.7中替换lambda表达式

时间:2017-07-26 07:35:57

标签: lambda java-8 java-7

 timer.scheduleAtFixedRate(() -> sendTimeToAll(session),0,1,TimeUnit.SECONDS);

这个表达式在java 8中使用,如何在java 7版本中编写

2 个答案:

答案 0 :(得分:4)

看起来像Runnable,因此您可以将其实现为匿名内部类。

timer.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            sendTimeToAll(session);
        }
    }, 0, 1, TimeUnit.SECONDS);

答案 1 :(得分:2)

lambda () -> sendTimeToAll(session)只不过是Runnable - 接口的直接实现。

所以() -> sendTimeToAll(session)等同于此

new Runnable() {
    public void run() {
        sendTimeToAll(session);
    }
}