我正在使用以下代码:
final UnassignedSubjectData selsub = (UnassignedSubjectData) spinSelectSubject
.getSelectedItem();
ArrayList<UnassignedSubjectData> selectedSubjectList = null;
if (selsubdata != null) {
selectedSubjectList = new ArrayList<UnassignedSubjectData>(
Arrays.asList(selsubdata));
Log.d(LOGTAG, "Check " + selsub.toString());
Log.d(LOGTAG, "Check " + selectedSubjectList.toString());
Log.d(LOGTAG, "Result for if "
+ Arrays.asList(selsubdata).contains(Arrays.asList(selsub)));
if (selectedSubjectList.contains(Arrays.asList(selsub))) {
CustomToast.showCustomToast(this,
"Subject already present in list");
Log.d(LOGTAG,
"IN IF after TOAST " + selectedSubjectList.toString());
return;
}
else
Log.d(LOGTAG, "Showing subject not in list");
}
是的selsub
一个对象UnassignedSubjectData
。
对于 LogCat 中的条件之一,我得到以下信息:
Check History
Check [History, Science, Science, History]
Result for if false
Showing subject not in list
这意味着即使对象存在于ArrayList
操作.contains()
员中,也无法正常工作。请帮我找到解决方案。