比较两个列表来计算差异 - Android / Java

时间:2014-11-19 22:01:45

标签: java android android-cursor

我有两个列表 - 一个返回所有文件夹的列表,另一个返回最近的文件夹列表。我想做的是将每个列表相互比较 - 如果找到匹配项:显示吐司。

我目前的代码如下:

    boolean currentFolderFound = false;
            if (mAllFolderListCursor != null) {
                final String folderName = mSelectedFolderUri.toString();
                if (mAllFolderListCursor.moveToFirst()) {
                    do {
                        final Folder f = mAllFolderListCursor.getModel();
                        if (!isFolderTypeExcluded(f)) {
                            if (f.folderUri.equals(mRecentFolders)) {
                                Toast.makeText(getApplicationContext(), "MATCH FOUND",
                                           Toast.LENGTH_LONG).show();
                            }
                        }
                    } while (!currentFolderFound && mAllFolderListCursor.moveToNext());
                }
}

我相信我已经对这行进行了编码:如果(f.folderUri.equals(mRecentFolders)) {错误 - 我想知道如何改进它以提供我正在寻找的结果。

提前致谢,

克里斯托弗

1 个答案:

答案 0 :(得分:0)

如果对象实际上相等,则

equals返回true,但在你的情况下则不是。您应该使用compareTo方法来进行简单的字符串比较。

String f1 = folder1.folderUri.toString();
String f2 = folder2.folderUri.toString();
if (f1.compareTo(f2) == 0) { // Do what needs to be done}