如果条件为真,则条件不起作用

时间:2018-01-31 03:24:09

标签: java

我一直在为项目执行以下操作,但无法找到问题。我一直试图找到我的计算机中可用的所有mp3文件,代码工作正常,直到if条件if(extension == "mp3")

在调试时,我发现即使条件为iftrue条件也不会执行。

public class AudioService {

    File[] audioFiles;
    File[] roots = File.listRoots();
    ArrayList<AudioFile> audios = new ArrayList<AudioFile>();
        int idIterator = 0;

    public List<AudioFile> getLocalAudioFiles() {
        for (int i = 0; i < roots.length; i++) {
            searchDir(roots[i]);
        }
        return audios;
    }

    public void searchDir(File directory) {
        File[] filesList = directory.listFiles();
        for (int i = 0; i < filesList.length; i++) {
            AudioFile af = new AudioFile();
            if (filesList[i].isDirectory()) {
                searchDir(filesList[i]);
            } else {
                int dotLast = filesList[i].getName().lastIndexOf('.');
                String extension = filesList[i].getName().substring(dotLast+1);
                if(extension == "mp3") {
                    idIterator++;
                    af.id = idIterator;
                    af.name = filesList[i].getName();
                    af.path = filesList[i].getPath();
                    af.type = extension;
                    audios.add(af);
                }
            }
        }
    }

    public static void main(String args[]) {
        List<AudioFile> af;
        AudioService as = new AudioService();
        af = as.getLocalAudioFiles();
    }
}

我不知道哪里出错了,在这里需要一些帮助。在此先感谢。

1 个答案:

答案 0 :(得分:2)

字符串不是原语。您需要对等式进行特殊检查,例如

<script src="project/jquery.min.js"></script>