作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下方法,它接受一个整数和字符串。此外,我必须将参数与从文本文件中读取的参数进行比较。我收到错误“类型不兼容”。我需要做一些解析吗?如果是这样,怎么办?据我了解,readLine()不需要解析。我的想法是,我必须扫描文本文件以获取有效的 StaffId,并转到下一行来检查关联的密码。
public boolean staffExists (int staffid, String staffpwd) throws IOException
{
boolean valid = false;
String filePath = new File("").getAbsolutePath();
BufferedReader reader = new BufferedReader(new FileReader(filePath + "/src/DBTextFiles/Administrator.txt"));
try
{
String line = null;
while ((line = reader.readLine()) != null)
{
if (!(line.startsWith("*")))
{
//System.out.println(line);
//http://stackoverflow.com/questions/19874621/how-to-compare-lines-read-from-a-text-file-with-integers-passed-in
if (line.equals(String.valueOf(staffid)) && (reader.readLine() == staffpwd))
{
System.out.println ("Yes");
System.out.println ("Welcome " + reader.readLine() + "!");
valid = true;
}
}
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
finally
{
reader.close();
}
return valid;
}
最佳答案
line
的类型为 String
,而 staffid
的类型为 int
。您无法在以下行中尝试将 int
与 String
进行比较:
if (line == staffid)
您需要将它们转换为相同的数据类型才能进行比较。
使用 String.valueOf 将您的 staffid
int 值转换为字符串方法并使用 equals 方法与行进行比较。
if (line.equals(String.valueOf(staffid))
关于java - 如何将从文本文件中读取的行与传入的整数进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19874621/
我是一名优秀的程序员,十分优秀!