У меня проблема в одном из моих методов, который вызывает у меня ошибку, не позволяющую мне испортить код. Вот этот метод.
public static List<Student> getStudentList(java.io.File irStudentsFile) {
List<Student> students = new LinkedList<>();
Stream<String> lines;
try {
lines = java.nio.file.Files.lines(irStudentsFile.toPath());
} catch (IOException ex) {
return null;
}
lines.forEach((Consumer<? super String>) line ->
{
Student student = new Student();
StringTokenizer sToken = new StringTokenizer(line, " ");
student.setIdStudent(Integer.valueOf(sToken.nextToken()));
student.setName(sToken.nextToken());
students.add(student);
}
);
return students;
}
Я получаю сообщение об ошибке. StringTokenizer sToken = новый StringTokenizer (строка, "");
Ошибка говорит: "StringTokenizer (java.lang.String String) в StringTokenizer не может быть скомпилирован (java.lang.Object String)"
Как я могу это исправить?
спасибо
Я считаю, что в вашем коде есть еще одна ошибка. Найдите ниже пример (это ваш код в рабочем примере)
public class StudenDemo {
public static void main(String[] args) {
List<Student> list = getStudentList(new File("students.txt"));
System.out.println("list = " + list);
}
public static List<Student> getStudentList(java.io.File irStudentsFile) {
List<Student> students = new LinkedList<>();
Stream<String> lines;
try {
lines = java.nio.file.Files.lines(irStudentsFile.toPath());
} catch (IOException ex) {
return Collections.EMPTY_LIST;
}
lines.forEach((Consumer<? super String>) line -> {
Student student = new Student();
StringTokenizer sToken = new StringTokenizer(line, " ");
student.setIdStudent(Integer.valueOf(sToken.nextToken()));
student.setName(sToken.nextToken());
students.add(student);
}
);
return students;
}
private static class Student {
private Integer id;
private String name;
public Student() {
}
private void setIdStudent(Integer id) {
this.id = id;
}
private void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" + "id=" + id + ", name=" + name + '}';
}
}
}
файл: students.txt
1 John Doe
2 Jane Doe
вывод
list = [Student{id=1, name=John}, Student{id=2, name=Jane}]
line
не являетсяString
как запрашивает сигнатура метода ... вы должны предоставитьStringTokenizer
допустимую строку ...