【发布时间】:2018-03-02 17:25:15
【问题描述】:
我有字符串
String str = "51;60;61;62;63;64;73;75;76;77"
并将str转换成ArrayList
listId = new ArrayList<>(Arrays.asList(str .split(";")));
我调试和 listId 的项目有足够的数据,但问题发生在:
id = String.valueOf(v.get(i).getCourseId());
if (!listId.contains(id)) {
logger.log("List id dont have id:"+id);
}
结果是:
List id dont have id: 51
我不知道为什么它不识别值 51 存在于列表中,我尝试删除数字 51 并将数字 60 设置为第一个元素 -> 结果是:
List id dont have id: 60
请帮助我,告诉我哪里错了以及如何解决问题!谢谢:)
【问题讨论】:
-
v列表是什么?也许它不包含 51 或 60? -
打印
v.get(i).getCourseId()看看它输出了什么 -
如果
logger.log("List id dont have id:"+id);记录List id dont have id: 51则在id变量中的51之前有一个空格。您应该清理 courseId 字符串。也许通过使用.trim()。 -
如果所有 id 都是整数,那么将它们存储为整数而不是字符串会更容易。
标签: java string arraylist contains