public List<Course> getCourseType(String couresrType) { //查询全部课程信息 List<Course> list = getAllCourse(); //创建集合对象 List<Course> listType = new ArrayList<>(); //遍历集合 for (Course course : list) { if (getCourseType(couresrType).equals(course.getCourseType())) { listType.add(course); } } return listType; } private void showCourseByType() { System.out.println("请输入课程类别:"); String courseType = input.next(); //调用根据类别显示课程的信息 List<Course> list =role.query(courseType); showList(list); } Required type: List <com.sxau.learningsystem.pojo.Course> Provided: Course
时间: 2024-04-10 19:34:52 浏览: 18
根据您提供的代码,出现了类型不匹配的错误。在`getCourseType`方法中,您尝试将一个`Course`对象赋值给一个期望的列表类型`List<Course>`。同样,在`showCourseByType`方法中,您尝试将`role.query(courseType)`返回的单个`Course`对象赋值给一个期望的列表类型`List<Course>`。
为了解决这个问题,您需要确保返回的类型与期望的类型匹配。如果您只想返回一个`Course`对象,可以将方法的返回类型更改为`Course`,而不是`List<Course>`。如果您希望返回多个`Course`对象作为列表,您需要确保在方法内部创建一个列表,并将所有匹配条件的`Course`对象添加到该列表中。
这里是修正后的代码示例:
```java
public Course getCourseType(String courseType) {
// 查询全部课程信息
List<Course> list = getAllCourse();
// 遍历集合
for (Course course : list) {
if (courseType.equals(course.getCourseType())) {
return course;
}
}
return null;
}
private void showCourseByType() {
System.out.println("请输入课程类别:");
String courseType = input.next();
// 调用根据类别显示课程的信息
Course course = role.query(courseType);
if (course != null) {
List<Course> list = new ArrayList<>();
list.add(course);
showList(list);
} else {
System.out.println("没有找到符合条件的课程。");
}
}
```
请注意,以上代码仅提供了一种可能的修正方案,具体修正方法取决于您的需求和业务逻辑。