Java 如何使用Arrays.asList()方法返回对象列表?

Java 如何使用Arrays.asList()方法返回对象列表?,java,spring,jpa,Java,Spring,Jpa,我正在使用Spring boot设置RestController。这个项目要求我返回一个对象列表(在本例中是类Book的对象)。我该怎么做 我通过传递一个Book类的对象尝试了Arrays.asList()方法,如下所示: java @RestController public class BookController { @GetMapping("/books") public List<Book> getAllBooks() { return

我正在使用Spring boot设置RestController。这个项目要求我返回一个对象列表(在本例中是类Book的对象)。我该怎么做

我通过传递一个Book类的对象尝试了Arrays.asList()方法,如下所示:

java

@RestController
public class BookController {

    @GetMapping("/books")
    public List<Book> getAllBooks() {

        return Arrays.asList(new Book(1l, "Book name", "Book author"));

    }
}
public class Book {

    Long id;
    String name;
    String author;

    public Book(Long id, String name, String author) {
        super();
        this.id = id;
        this.name = name;
        this.author = author;
    }

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getAuthor() {
        return author;
    }

    @Override
    public String toString() {
        return "Book [id=" + id + ", name=" + name + ", author=" + author + "]";
    }
}

我遇到以下错误
“类型不匹配:无法从列表转换到列表”
。我该如何解决这个问题呢?

这件事在我身上发生过好几次,原因总是IDE以某种方式自动从junit包导入了其他Array类,而不是从java.util导入的。 因此,检查您的导入部分并放入
import java.util.Arrays如果导入了另一个Arrays类。

@Tom Hawtin-tackline提出了类似的建议,但除了正确的导入之外,不需要其他任何东西。

这在我身上发生过好几次,原因总是IDE以某种方式自动从junit包导入了其他数组类,而不是从java.util导入的。 因此,检查您的导入部分并放入
import java.util.Arrays如果导入了另一个Arrays类。

@Tom Hawtin-tackline建议使用类似的方法,但除了正确的导入之外,不需要其他任何东西。

为什么
Arrays.asList
不起作用?您的代码有什么问题?您是否收到任何错误或意外结果?getAllBooks()方法的返回语句中出现了此错误“类型不匹配:无法从列表转换为列表”。您共享的代码似乎没有引发此错误!添加
import java.util.*并注释掉jpa注释,使其可以使用
javac-Xlint:all*.java
进行编译。(另外,从JavaSE9开始使用
List.of
)为什么
Arrays.asList
不起作用?你的代码有什么问题?您是否收到任何错误或意外结果?getAllBooks()方法的返回语句中出现了此错误“类型不匹配:无法从列表转换为列表”。您共享的代码似乎没有引发此错误!添加
import java.util.*并注释掉jpa注释,使其可以使用
javac-Xlint:all*.java
进行编译。(另外,使用自JavaSE9以来的
List.of