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)。
答案 0 :(得分:3)
Eclipse Luna确实包含对方法引用语法的支持,但显然不在您尝试的特定上下文中。但是,如果将方法引用声明为具有特定类型的变量,它确实有效。像这样:
Function<String, Object> methodRef = String::valueOf;
new LinkedList<String>().stream().map(methodRef);
在此代码中,内容辅助在::
点正常工作。我怀疑这是因为Eclipse以这种方式提供有关类型的更多信息(在变量中声明了类型),而不是示例的内联语法。
根据Eclipse bug 430656,这已经针对4.4.2版本进行了修复,该版本将于2015年2月发布。在此之前,您可以下载4.4.2的早期里程碑版本