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

时间:2019-06-09 11:14:15

标签: java spring jpa

我正在使用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>"。我该如何解决?

1 个答案:

答案 0 :(得分:1)

这件事在我身上发生了好几次,原因总是IDE以某种方式自动从junit包而不是从java.util导入另一个Arrays类。 因此,请检查您的导入部分,如果导入了另一个Arrays类,请放import java.util.Arrays;。 @Tom Hawtin-大头钉建议类似,但除正确导入外,不需要其他任何操作。