Arrays.asList(array).contains(value)无法正常工作(android)

时间:2015-09-01 15:33:47

标签: android arrays

我有一个字符串[]

String [] example = new String[]{
"one",
"two",
"three",
"four"
}

我正在尝试检查此数组是否包含下一个字符串“one”,但它返回false ... 这是我的代码:

boolean check = Arrays.asList(example).contains("one");

任何想法为什么会发生?

3 个答案:

答案 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