如何通过单行代码实现单个DataFrame对多DataFrame数组的覆写
现有代码的问题
你当前的逻辑存在必然触发的空指针问题:先把
arrayOfDFs赋值为null,后续对空引用调用add方法时,会直接抛出NullPointerException,完全无法正常运行。
一行实现的覆写方案
根据你是否需要保留原ArrayList的对象引用,可直接选用对应代码:
- 允许直接替换原集合对象引用(覆写最彻底,直接丢弃旧集合的所有内容)
执行后新的ArrayList仅包含目标单个DataFrame,无任何历史残留,对应代码:arrayOfDFs = new ArrayList<>(Collections.singletonList(dataframe));
注:如果是Java 9及以上版本,可将Collections.singletonList(dataframe)替换为更简洁的List.of(dataframe),效果完全一致。 - 不能修改原ArrayList的对象引用(比如集合已被其他模块持有,无法随意替换引用)
在原集合对象上清空所有内容后再添加目标DataFrame,最终和完全覆写的效果一致,对应代码:arrayOfDFs.clear(); arrayOfDFs.add(dataframe);
内容的提问来源于stack exchange,提问作者Martin Moore
相关产品推荐
相关产品推荐

