Java List containsAll返回false?

时间:2014-03-26 21:14:50

标签: java

这是假的......我期待真的

 List<String> listA // [941,  946,  940,  942]
 List<String>  listB //[941, 942, 940, 946,888, 466, 777]

listB.containsAll(listA) //FALSE ??

1 个答案:

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