我有一个字符串[]
String [] example = new String[]{
"one",
"two",
"three",
"four"
}
我正在尝试检查此数组是否包含下一个字符串“one”,但它返回false ... 这是我的代码:
boolean check = Arrays.asList(example).contains("one");
任何想法为什么会发生?
答案 0 :(得分:1)
如果你在contains方法中查看Javadoc for List,你会看到它使用equals()方法来评估两个对象是否相同。
进行测试:
List<String> list = Arrays.asList(example);
boolean check = list.contains(list.get(1));
和
List<String> list = Arrays.asList(example);
boolean check = list.contains("one");
答案 1 :(得分:0)
由于此代码是正确的,我想在使用此代码的时间/点,您的Array可能尚未初始化,或者其内容可能已被更改。
同时尝试清理和重建。
答案 2 :(得分:0)
也许这与某个事实有关,Arrays.asList()
返回列表的特殊实现 - java.util.Arrays.ArrayList
,而不是java.util.ArrayList
。