我有一个arraylist
和一个string
。我需要比较数组列表是否包含字符串。我做了"ArrayList.toString()"
转换为字符串,因为我不能比较数组列表与字符串。然后我继续使用.contains
。还行。
例如,假设字符串1= "ground"并且在字符串2中存在单词"playground",那么它将使。contains为真,因为单词"ground"在单词"playground"的内部。有什么办法可以避免这种情况吗?数组列表有一些首字母大写,所以我把它设为小写,这样所有的东西都是统一的。我试过。equals和。equalsignorecase,都没有成功。:/
我必须比较数组列表中是否包含该字符串。我所做的"ArrayList.toString()"将其转换为字符串,因为我不能比较带字符串的数组列表
你也可以在ArrayList<String>
上使用contains
方法
以为例,假设字符串1= "ground",字符串2 = " word "playground"存在,那么它会使。contains为真,因为"ground"这个词在"playGROUND"这个词里面。有办法吗?避免这种情况吗?
是使用数组列表的contains
方法,如果有playGround
, ground
将不会返回true。
我试过了。equals和。equalsignorecase都没有成功:/
你必须在arrayList上循环,然后在每个String
上使用equalsIgnorecase
来找到匹配。
问题1:
遍历列表并将每个值与字符串进行比较。
for(string temp: yourList)
if(temp.equals(stringForCompare))
//true
//false
问题2:
if(string2.contains(string1) && !string2.equals(string1))
是你在问题中解释的逻辑,没有任何意义,可以简化为if(!string2.equals(string1)
。
问题3:
甚至不知道你在问什么,但是@TAsk看起来已经很好地回答了。