缓冲读取器不读取某些行

时间:2013-11-25 04:07:22

标签: java bufferedreader

这是我的计划

        String thisSchool=buffer.readLine();
        String thisLine;

        while((thisLine = buffer.readLine()) != null){
            if(thisLine=="*")
            {
                thisSchool=buffer.readLine();
            }
            else
            {
                School school = new School(thisSchool);
                Student student = new Student(thisLine, school);
                StudentList.add(student);
            }
       }

我的文字文件如下:

School1
A
B
C
*
School2
D
E
*
School3
F

我的驱动程序类的输出是:

A School1
B School1
C School1
* School1
School2 School1
D School1
E School1
* School1
School3 School1
F School1

这就是我想要的样子

A School1
B School1
C School1
D School2
E School2
F School3

以下是问题 " currentSchool"变量永远不会改变,我不知道为什么! " *"被视为学生(我想将它用作分隔符,即程序在遇到它时会忽略它)。相反," if line = *"命令被完全忽略,因此,学校永远不会改变,学生写错了

1 个答案:

答案 0 :(得分:1)

if(thisLine=="*")

不要使用“==”来比较对象。

使用equals()方法:

if(thisLine.equals("*"))