Java 字符串。包含另一个字符串
所以我有一个Java 字符串。包含另一个字符串,java,string,user-interface,arraylist,Java,String,User Interface,Arraylist,所以我有一个arraylist和一个string。我必须比较arraylist是否包含字符串。我做了“ArrayList.toString()”将其转换为字符串,因为我无法将ArrayList与字符串进行比较。然后我继续使用.contains。这有点管用 例如,假设字符串1=“ground”和字符串2中的单词“playerly”存在,那么它将使.contains为true,因为单词“ground”位于单词“playerly”的内部。有没有办法避免这种情况?arraylist有一些首字母大写,所以
arraylist
和一个string
。我必须比较arraylist是否包含字符串。我做了“ArrayList.toString()”
将其转换为字符串,因为我无法将ArrayList与字符串进行比较。然后我继续使用.contains
。这有点管用
例如,假设字符串1=“ground”和字符串2中的单词“playerly”存在,那么它将使.contains为true,因为单词“ground”位于单词“playerly”的内部。有没有办法避免这种情况?arraylist有一些首字母大写,所以我将其设置为小写,这样所有内容都可以统一。我试过了。相等和。相等信号和运气/
我必须比较arraylist是否包含字符串。是的
“ArrayList.toString()”将其转换为字符串,因为我无法比较
带字符串的arraylist
您还可以在ArrayList
例如,假设字符串1=“ground”和字符串2中的单词
“游乐场”存在,那么它将使.contains为真,因为
“地面”一词在“操场”一词内。有什么好办法吗
避免这种情况
是使用包含
arrayList方法如果地面
有运动场,则不会返回true
我试过了。相等和。相等信号情况下没有运气:/
您必须在arrayList上循环,然后在每个
字符串上使用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回答得很好。很难理解你在这里写了什么?你可能需要遍历列表并对照单词检查每个项目。我建议你发布一些代码,另外,你能使用for循环吗?只需逐个比较字符串…arraylist.toString()不做你认为它会做的事情如果你在重复单词,你应该根据你的用例使用equals()或equalsIgnoreCase()。我很高兴你能理解他在第三部分中所说的内容,再加上一个很好的解释。+1