【发布时间】:2019-12-17 19:54:01
【问题描述】:
我正在使用 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"));
}
}
java
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 + "]";
}
}
我收到此错误"Type mismatch: cannot convert from List<Object> to List<Book>"。我该如何解决这个问题?
【问题讨论】:
-
为什么
Arrays.asList不起作用? -
你的代码有什么问题?你有没有得到任何错误或任何意外的结果?
-
getAllBooks() 方法的返回语句中出现此错误“类型不匹配:无法从 List
-
你分享的代码似乎没有抛出这个错误!
-
添加
import java.util.*;并注释掉 jpa 注释使其可以与javac -Xlint:all *.java一起编译。 (另外,从 Java SE 9 开始使用List.of。)