我在我的一个方法中有一个问题,导致我出错,不允许我破坏代码。以下是方法。
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) in StringTokenizer cannot be appiled to (java.lang.Object String)“
我该如何着手解决这个问题呢?
谢谢
发布于 2015-04-13 20:09:16
我认为您的代码中存在另一个错误。找到下面的示例(这是您在工作示例中的代码)
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}]https://stackoverflow.com/questions/29604700
复制相似问题