Java 如何在IntelliJ IDEA中自动完成lambdas?
我正在将IntelliJ IDEA 13与Java8一起使用,并想知道如何自动完成lambdas。在Java8之前,我当然使用匿名内部类。我通过键入“new”并按Ctrl+Space自动完成: 选择第一个选项 现在使用Java8,我也想生成lambda,推断参数和所有参数,但我找不到它的自动完成Java 如何在IntelliJ IDEA中自动完成lambdas?,java,intellij-idea,lambda,java-8,Java,Intellij Idea,Lambda,Java 8,我正在将IntelliJ IDEA 13与Java8一起使用,并想知道如何自动完成lambdas。在Java8之前,我当然使用匿名内部类。我通过键入“new”并按Ctrl+Space自动完成: 选择第一个选项 现在使用Java8,我也想生成lambda,推断参数和所有参数,但我找不到它的自动完成 注意,上面的示例非常简单,但是当您有多个具有泛型类型的参数(例如JavaFX侦听器等)时,自动完成就很方便了。您只需键入p=s->f..,自动完成就会提示false。如果不确定lambda,可以从内部
注意,上面的示例非常简单,但是当您有多个具有泛型类型的参数(例如JavaFX侦听器等)时,自动完成就很方便了。您只需键入
p=s->f..
,自动完成就会提示false
。如果不确定lambda,可以从内部类开始,然后将其转换为lambda表达式
在您的示例中,可以在之后按Alt+Enter,如下所示:
完成后:
按Alt+Enter键后:
结果:
单击排水沟处的小图标可显示谓词.test
方法。
在Windows或Linux中,它是Ctrl+Space 在Mac OS中,它是Ctrl+Shift+Space
这正是我现在要做的,但我必须先将光标移动到灰显部分,然后才能按Alt+Enter,对吗?然而,我认为这太复杂了,IDEA应该有/确实有其他的捷径。没错,我也在这么做。很抱歉,我只知道这些意图和排水沟处的这个小“覆盖”图标,它显示了被覆盖的Predicate.test method.type
p=s->f..
?这是个玩笑吗?手动键入t->
真的有那么难吗?您可以省略参数类型的事实也适用于泛型类型。我使用了一个简单的示例,更现实的示例是:comboBox.focusedProperty().addListener((observable,oldValue,newValue)->……)如果你坚持使用这么长的参数名,我明白你的意思。然而,我想知道为什么你要使用lambda表达式…现在Ctrl+空格已经足够了,但是它也会打开文档弹出窗口,这很烦人!在Mac OS X中仍然是Ctrl+Shift+Space,因为Ctrl+Space是SpotlightUbuntu 16.04也是Ctrl+Shift+Space。在Mac OS上,系统使用ctr+Space快捷键在不同的输入源之间进行更改(如果您有多个键盘布局)。在键盘->快捷键->输入源中禁用它,使Intellij为我工作