java - 无法识别java 8 lambda但配置没问题

标签 java spring hibernate intellij-idea

我使用 Spring 和 Hibernate 以及所有 Java 8 的东西在 Intellij 中导入了一个程序,但我遇到了一个问题,即看不到 Java 8。 JDK已设置并且导入正常;我真的不明白为什么我的IDE用红色下划线这段代码。代码是:

@Entity
@Table(name = "author")
public class Author extends BaseEntity<Long> {

    @Column(name = "name")
    private String name;

    @OneToMany(mappedBy = "author", fetch = FetchType.EAGER)
    private List<Book> bookList;

    public Author() {
    }

    public Author(String name, List<Book> bookList) {
        this.name = name;
        this.bookList = bookList;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Book> getBookList() {
        return bookList;
    }

    public void setBookList(List<Book> bookList) {
        this.bookList = bookList;
    }

    public Set<Book> getBooks() { // !!!!! here lines 1
        return Collections.unmodifiableSet( // 2
                this.bookList.stream(). // 3
                        collect(Collectors.toSet()));//4 are red
    }

还有import语句:

import java.util.stream.Collectors;

也是红色的。当我点击错误时,它显示:

Incompatible types.Required set <packet.model.book> 
                  Found set <java.lang.Object>

第一面可能出现什么问题?

最佳答案

在项目结构中设置 java 8 ctrl+alt+s文件 -> 项目结构

见下图

img1 img2 img3

关于java - 无法识别java 8 lambda但配置没问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37822205/

相关文章:

spring - 用于 HikariCP + Spring + MS SQL Server 的 JTDS 配置

java - OpenJPA:必须在 ConnectionDriverName 属性中指定 JDBC 驱动程序或数据源类名称

java - Internet Explorer 更改包含来 self 的 Web 应用程序的特殊字符的文件的文件名

Java:索引越界

java - 如何处理服务器未启用 SSL/TLS 但客户端在 Java 中启用了 SSL/TLS 的负面测试用例

java - "merge"两个ApplicationContext配置的最佳方法

java - 如何使用ant添加jar操作

java - 文件路径给出 NullPointer

java - 我可以查询 Spring JPA @Query 来查找列表与另一个列表的任何匹配项吗?

java - Hibernate 中多次出现自定义 CompositeUserType 导致 MappingException