我有一个简单的程序,可以将给定目录中的所有文件读入数组。然后循环该数组并将JFrame中列出的文件名作为单独的JLabel。
我也可以使用以下代码读取文件扩展名:
String extension = "";
int i = FileName.lastIndexOf('.');
if (i > 0) {
extension = FileName.substring(i+1);
}
这很好,但是当我尝试在if语句中使用扩展名时,这样:
if(extension == "java")
{
System.out.println(FileName);
}
else
{
System.out.println("error");
}
我得到的只是控制台中的错误语句,即使目录中有多个java文件(可以在结果JFrame中看到)。
谁能告诉我这是什么问题? 谢谢!
答案 0 :(得分:2)
更改为:
if (extension.equals("java"))
使用==
的字符串比较比较对象而不是值。