首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java StringTokenizer错误

Java StringTokenizer错误
EN

Stack Overflow用户
提问于 2015-04-13 19:55:40
回答 1查看 181关注 0票数 1

我在我的一个方法中有一个问题,导致我出错,不允许我破坏代码。以下是方法。

代码语言:javascript
复制
    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)“

我该如何着手解决这个问题呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 20:09:16

我认为您的代码中存在另一个错误。找到下面的示例(这是您在工作示例中的代码)

代码语言:javascript
复制
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

代码语言:javascript
复制
1 John Doe
2 Jane Doe

输出

代码语言:javascript
复制
list = [Student{id=1, name=John}, Student{id=2, name=Jane}]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29604700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档