Eclipse Java Stream Cast问题

时间:2018-07-18 19:06:02

标签: java java-8

全部

我有以下几行代码。

List<String> nodeList = Stream.of(nodes.split(","))
      .map(String::trim)
      .collect(Collectors.toList());

这使用gradle进行编译。但是当它运行时,它会给出以下异常。

Unresolved compilation problem:
Type mismatch: cannot convert from List<Object> to List<String>

我不确定还能提供什么,请问,我会答复。

3 个答案:

答案 0 :(得分:0)

我认为您遇到了编译时错误,因为项目属性中的编译器版本不匹配。可能是您选择了较低版本,然后功能存在于版本(1.8)中。

您需要检查并确保以下内容:

转到项目属性

  1. 确保已在Java Build Path中选择了适当的 JDK 。例如在这种情况下是 JDK 1.8

  2. 确保必须在项目属性的 Java编译器下选择适当的编译器版本。例如1.8

或者,您可以直接在Gradle文件中添加compileOptions

compileOptions 
{  
     targetCompatibility JavaVersion.VERSION_1_8  
     sourceCompatibility JavaVersion.VERSION_1_8  
}

答案 1 :(得分:0)

它在使用JDK8进行编译的计算机上正常运行。尝试将compileOption添加到gradle中,以确保您使用的是jdk8或更高版本,例如:

compileOptions {  
sourceCompatibility JavaVersion.VERSION_1_8  
targetCompatibility JavaVersion.VERSION_1_8  
}

答案 2 :(得分:0)

好的,大家

我在gradle中添加了以下几行,以启用三叶草支持。

eclipse.project {
   natures "org.openclover.eclipse.core.clovernature"

   buildCommands.clear()
   buildCommand "org.openclover.eclipse.core.prejavabuilder"
   buildCommand "org.eclipse.jdt.core.javabuilder"
   buildCommand "org.openclover.eclipse.core.postjavabuilder"
}

删除它们可以解决问题。