【问题标题】:Eclipse Java 8 recommendations for :: functions?Eclipse Java 8 对 :: 函数的建议?
【发布时间】:2014-12-12 00:30:47
【问题描述】:

Eclipse 为我提供有关功能的内容帮助。例如String. ctrl+space 显示String.valueOf() 等。

但是,对于流并使用::,这不起作用。例如,new LinkedList<String>().stream().map(String:: ctrl+space 并不能帮助我完成 new LinkedList<String>().stream().map(String::valueOf);

是否有一些选项或插件可以启用此功能?我使用 Eclipse Luna (4.4.0)。

【问题讨论】:

标签: eclipse java-8


【解决方案1】:

Eclipse Luna 确实包含对方法引用语法的支持,但显然不在您尝试的特定上下文中。但是,如果您将方法引用声明为具有特定类型的变量,它确实有效。像这样:

Function<String, Object> methodRef = String::valueOf;
new LinkedList<String>().stream().map(methodRef);

在此代码中,内容辅助在 :: 点处正常工作。我怀疑这是因为 Eclipse 以这种方式(使用在变量中声明的类型)有更多关于类型的信息,而不是您的示例的内联语法。

根据Eclipse bug 430656,此问题已在 2015 年 2 月发布的 4.4.2 版本中得到修复。在此之前,您可以下载 4.4.2 的早期里程碑版本

【讨论】:

    猜你喜欢
    • 2012-07-27
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多