访问Lambda变量

时间:2018-11-10 01:26:35

标签: java

我现在正在尝试使用lambda表达式,并且我在lambda表达式之外初始化了一个变量。在表达式内部,我试图设置该变量的值,以便可以在表达式外部使用它,但是我不能这样做,因为“在lambda表达式中使用的变量应该是最终的或实际上是最终的” 。有任何想法吗?我看到的唯一方法是以某种方式在lambda的范围内初始化变量,但是那时我不知道如何在该范围之外访问它。

Member name; //My Variable
event.reply("Ok! Give me the name a user. Like this: @TI-84+");
waiter.waitForEvent(MessageReceivedEvent.class, e -> e.getAuthor().equals(event.getAuthor()), e -> {
    event.reply("Searching the archives on information for user: " + e.getAuthor() + "...");
    name = e.getMessage().getMentionedMembers().get(0); //Problem because you can't set an implicitly final variable
}); 

0 个答案:

没有答案