我想对列表进行空检查并将其分配给最终的类属性:
private final ExcelDocument xls;
private final List<ValidationError> validationErrors;
public DefaultExaminationParser(ExcelDocument xls, List<ValidationError> validationErrors)
{
this.xls = xls;
this.validationErrors = validationErrors == null ? new ArrayList<>() : validationErrors;
}
导入为:import java.util.List;
和import java.util.ArrayList;
eclipse和maven中的编译器是Java 1.8
我的IDE(eclipse)没有显示此行的任何问题,但是当我运行maven构建时,它失败并出现以下错误:
DefaultExaminationParser.java:[84,51]错误:不兼容的类型:
List<? extends Object>
无法转换为List<ValidationError>
ValidationError定义为:
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
public class ValidationError implements Serializable, DetailInfo {
[...]
}
我在这里看不到任何错误。我也可以毫无问题地为这门课进行单元测试。
答案 0 :(得分:0)
问题是,maven的编译器级别在几个父pom文件之一中设置为1.7。
使用以下代码段将其明确设置为1.8:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>utf8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>