查看文件是否用Java读取内容

use*_*443 0 java string-matching

我创建了一个名为doc.txt的文档,在其中我写了"blaha".我写了一个程序,看它是否说blaha.

    File file = new File("C:/Users/Public/doc.txt");
    if (file.exists()){
     FileReader fr = new FileReader(file);
     LineNumberReader ln = new LineNumberReader(fr);
        while (ln.getLineNumber() == 0){
          String s = ln.readLine();
          System.out.println(s);
          if(s=="blaha"){
              System.out.println("Match");
          }else{
              System.out.println("Nomatch");
          }
    }
    }
Run Code Online (Sandbox Code Playgroud)

当我运行该程序时,它总是说Nomatch.为什么是这样?

Ósc*_*pez 6

要比较字符串的值相等性(两个对象是否具有相同的值),请执行以下操作:

s.equals("blaha")
Run Code Online (Sandbox Code Playgroud)

所述==参考操作者测试身份(两个对象是否一个且相同的).大多数时候,你对平等感兴趣.