这是假的......我期待真的
List<String> listA // [941, 946, 940, 942]
List<String> listB //[941, 942, 940, 946,888, 466, 777]
listB.containsAll(listA) //FALSE ??
答案 0 :(得分:1)
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