java - 空列表上的 Java ArrayList 方法 addAll() 抛出 UnsupportedOperationException
问题描述
我有如下代码,我试图将 ArrayList(componentList) 添加到另一个 ArrayList(SpareParts)。只要备件列表不为空,它就可以正常工作。当备用零件列表为空时,它会抛出java.lang.UnsupportedOperationException: null
List<ProductReferenceData> spareParts = new ArrayList<ProductReferenceData>();
/**
Method which fills spareParts List and does not return null. Checked in Debugger as well.
*/
if(componentLabels!=null && !CollectionUtils.isEmpty(componentLabels))
{
spareParts.addAll(componentLabels);
}
我可以放一个 if else 循环来检查spareParts 列表是否为空来修补这个问题,但是有没有一个优雅的解决方案呢?也许在 Java 8 中
---编辑---添加堆栈跟踪
INFO | jvm 1 | main | 2020/08/07 20:10:39.309 | java.lang.UnsupportedOperationException: null
INFO | jvm 1 | main | 2020/08/07 20:10:39.316 | at java.util.AbstractList.add(AbstractList.java:148) ~[?:1.8.0_172]
INFO | jvm 1 | main | 2020/08/07 20:10:39.316 | at java.util.AbstractList.add(AbstractList.java:108) ~[?:1.8.0_172]
INFO | jvm 1 | main | 2020/08/07 20:10:39.316 | at java.util.AbstractCollection.addAll(AbstractCollection.java:344) ~[?:1.8.0_172]
INFO | jvm 1 | main | 2020/08/07 20:10:39.316 | at com.ge.hc.storefront.controllers.pages.ProductPageController.productDetail(ProductPageController.java:418) ~[classes/:?]
解决方案
推荐阅读
- windows - 如何将 .txt 中的某些内容排除在 For 中?
- python - 删除多列数据框
- rust - 如何概括传递给具有不同类型键的函数的 HashMap?
- android - Firebase RecyclerView 数据检索错误
- javascript - 动态添加的生动图标的问题
- python - 重命名python中的子目录
- shell - 为什么子shell中的$$等于父shell中的$$?
- jar - 无法在 Linux 服务器上运行 zipkin jar 文件“Armeria 服务器无法启动”
- android - UPDATE 命令未反映
- vue.js - Vue / Axios 上的问题 - 填卡出错