这是返回false .... IM期待真正Java List containsAll返回false?
List<String> listA // [941, 946, 940, 942]
List<String> listB //[941, 942, 940, 946,888, 466, 777]
listB.containsAll(listA) //FALSE ??
这是返回false .... IM期待真正Java List containsAll返回false?
List<String> listA // [941, 946, 940, 942]
List<String> listB //[941, 942, 940, 946,888, 466, 777]
listB.containsAll(listA) //FALSE ??
false
结果意味着在listA
有些值没有在listB
相应的(等于)值。这可能是由一些不必要的空格造成的。你需要知道,
"foo".equals(" foo")
将返回false
这意味着使用的值不相等的,因为空间也算字符。
如果每个字符串格式正确,您提供的示例数据就可以正常工作。
import java.util.Arrays;
import java.util.List;
public class Test {
public static final void main(String[] ignored) {
List<String> listA = Arrays.asList(new String[]{"941", "946", "940", "942"});
List<String> listB = Arrays.asList(new String[]{"941", "942", "940", "946", "888", "466", "777"});
System.out.println(listB.containsAll(listA));
}
}
输出:true
为什么在这种情况下这会被降低? – aliteralmind
大声笑..我不知道这个男人......这些帅哥有趣 –
@aliteralmind可能是因为它本质上[适合我](http://meta.stackexchange.com/questions/118992/are-works-for-me-答案 - 有效)评论,而不是答案(你没有解释OP做错了什么)。 – Pshemo
是空白准确吗? –
它是一个用逗号分隔的字符串列表.... whitespace正好在注释 –
的右边,但是你的字符串没有引号,所以我想知道是否空格被认为是字符串的一部分。 –