【发布时间】:2016-05-13 22:41:58
【问题描述】:
我有以下代码:
String st = "st1 15";
String sta = "15";
ArrayList<String> arrlist = new ArrayList<String>(5);
arrlist.add("string string string 15");
if (st.contains(sta) && !arrlist.contains(sta)) {
arrlist.add(st);
}
我希望arrlist.add(st);不会被执行我错了吗?当我执行代码if 语句是true 和arrlist 填充st
任何帮助将不胜感激:) 对不起,如果我犯了一个严重的错误,我很新。
【问题讨论】:
-
@Shark 请重新考虑您的评论。你的“那基本上”是错误的。
-
@manu
arrlist不包含15。它确实包含一个字符串,而该字符串又包含15。 -
顺便说一句,您缺少前两行中的分号和条件末尾的一个括号。
-
arrlist.contains(sta)将检查列表arrlist是否完全包含您使用equals实现传入的对象。您的列表不包含"15"(它有一个包含该子字符串的字符串,但这在这里无关紧要)因此它返回false并且由于您使用!反转该布尔值,您将得到 @改为 987654336@。 -
@manu 遍历它,检查每个元素是否
.contains()。最好把它放在一个函数中。
标签: java string arraylist contains