public void method2() { //创建竖直 List<Integer> list = createList(); //检查数组是否为空 log.info("list是否为空:" + CollectionUtils.isEmpty(list)); //检查数组中是否存在某些值,如:banana String[] fruits = {"apple", "orange", "banana"}; log.info("集合是否存在banana:" + CollectionUtils.exists(Arrays.asList(fruits), new Predicate() { @Override public boolean evaluate(Object o) { return "banana".equalsIgnoreCase((String) o); } })); //将数组2并入数组1 String[] newFruits = {"peach", "grape", "banana"}; CollectionUtils.addAll(Arrays.asList(fruits), newFruits); log.info("合并后的集合:" + Arrays.toString(fruits)); }
时间: 2024-04-14 15:26:00 浏览: 231
根据你提供的代码,我注意到问题出现在`CollectionUtils.addAll`方法上。该方法的目的是将`newFruits`数组中的元素添加到`fruits`列表中,但是在你的代码中,你将`Arrays.asList(fruits)`作为参数传递给了`CollectionUtils.addAll`方法。
问题在于`Arrays.asList`方法返回的是一个固定大小的列表,不支持添加操作。因此,当你尝试通过`CollectionUtils.addAll`方法向该列表中添加元素时,会抛出`UnsupportedOperationException`异常。
要解决这个问题,你可以使用一个可变列表来存储`fruits`数组的元素,并将其作为参数传递给`CollectionUtils.addAll`方法。例如,你可以使用`ArrayList`来替代`Arrays.asList`,如下所示:
```java
List<String> fruitList = new ArrayList<>(Arrays.asList(fruits));
CollectionUtils.addAll(fruitList, newFruits);
```
这样做将创建一个可变的列表,并成功将`newFruits`数组的元素添加到该列表中,而不会抛出异常。
希望这可以帮助你解决问题!如果还有其他问题,请随时提问。
阅读全文