【发布时间】:2020-06-30 16:04:19
【问题描述】:
可能是您很容易发现的东西,但我已经坚持了一段时间了。
我正在尝试在ArrayList 中搜索特定文本,但我在搜索方法中发现类型不匹配,显示为“can'not convert from element type Student to String”。我的代码如下:
大学班:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class College {
private ArrayList<Student> studentList;
public College()
{
studentList = new ArrayList<Student>();
}
public void join(Student newStudent)
{
studentList.add(newStudent);
}
public int numberOfStudents()
{
return studentList.size();
}
public void searchStudents(String searchString)
{
for(String element : studentList){ //Error occurs here
if(element.contains(searchString)){
System.out.println(element);
}
}
}
public void listmessagesForEach()
{
for(String element : studentList){ //Error occurs here
System.out.println(element);
}
}
}
学生班:
public class Student {
private String name;
private int month;
private int number;
private int studentId;
public Student(String name, int month, int number, int studentId)
{
this.name = name;
this.month = month;
this.number = number;
this.studentId = studentId;
}
public String getName()
{
return name;
}
public int getMonth()
{
return month;
}
public int getYear()
{
return number;
}
public int getStudentID()
{
return studentId;
}
}
测试类:
public class Test {
public static void main(String args[]){
College myCollege = new College();
myCollege.join(new Student("Dave Gerry", 2, 1015, 67));
myCollege.join(new Student("Heidi Pollock", 5, 1017, 57));
myCollege.join(new Student("Gary Herr", 7, 1013, 47));
myCollege.numberOfStudents();
System.out.println("The college has " +
myCollege.numberOfStudents() +
" students.");
String s;
s = "Herr";
myCollege.searchStudents(s);
}
}
我需要searchStudents 来识别列表中的文本。错误可能还与为什么 listmessages 不起作用有关。
这可能是一个简单的问题,只是由于目前无法上课,现在很难与我的导师联系。
谢谢
【问题讨论】:
-
请在问题中添加从异常中获得的整个堆栈跟踪
-
显然
studentList包含学生而不是字符串