CollectionUtilsのバグが見つかりました

1426 ワード

	public static void main(String[] args) {
		Collection<String> collection = new ArrayList<String>();
		Collection<String> remove = new ArrayList<String>();
		Collection<String> retain = new ArrayList<String>();
		collection.add(new String("A"));
		collection.add(new String("B"));
		collection.add(new String("C"));
		collection.add(new String("D"));
		
		remove.add(new String("A"));
		remove.add(new String("B"));
		remove.add(new String("C"));
		
		retain.add(new String("A"));
		retain.add(new String("D"));
		retain.add(new String("E"));
		
		Collection<String> result = (Collection<String>)CollectionUtils.removeAll(collection, remove);
		System.out.println(result.size());
		for (String string : result) {
			System.out.print(string);
			System.out.print(",");
		}
		System.out.println();
		result = (Collection<String>)CollectionUtils.retainAll(collection, retain);
		System.out.println(result.size());
		for (String string : result) {
			System.out.print(string);
			System.out.print(",");
		}
}

 
出力結果:
 
3
A,B,C,
2
A,D,

 
実際にremoveAllは文字列Dを含むCollectionを返すべきです.ここではCollectionUtilsのバグです.
 
 
 
——————————————————————————————————————————————————