当前位置: 首页 > article >正文

针对Arrays.asList的坑,可以有哪些处理措施

上文讲述:Error querying database. Cause: java.lang.reflect.InaccessibleObjectException:
那么如果真的只习惯用Arrays.asList,那也是有对应的解决办法的。

一、解决办法大方向

不管做什么事情,都是先判定一个大方向,不管是小时候做题还是长大了工作都是一个道理。那么针对Arrays.asList的坑,我们晓得他的坑就是 每次调用都会独立new,且new的集合是一个内部类,是不能和我们常用的arrayList画等号的。

二、解决办法

① 针对漏洞一:List的长度是不可改变

核心思想就是将其转成我们常用的 java.util.ArrayList

------使用 new ArrayList<>(Arrays.asList()

public static void main(String[] args) {
		String stringInfo = "a,b,c,d";
		List<String> stringList1 = new ArrayList<>(Arrays.asList(stringInfo.split(",")));
		stringList1.add("f");
		System.out.println(stringList1);
	}
// 运行结果:[a, b, c, d, f]

new ArrayList 毋庸置疑,就是将list转成我们常用的集合,这样也就不在乎是否能增删改了,哈哈。

-----使用 Arrays.stream( ).collect(Collectors.toList())

public static void main(String[] args) {
		String stringInfo = "a,b,c,d";
		List<String> stringList1 = Arrays.stream(stringInfo.split(",")).collect(Collectors.toList());
		stringList1.add("f");
		System.out.println(stringList1);
	}
// 运行结果:[a, b, c, d, f]

-----使用 Lists.newArrayList

public static void main(String[] args) {
		String stringInfo = "a,b,c,d";
		List<String> stringList1 = Lists.newArrayList(stringInfo.split(","));
		stringList1.add("f");
		System.out.println(stringList1);
	}
// 运行结果:[a, b, c, d, f]

针对漏洞二:List是内部类,获取不到其属性信息

都换成我们常用的 java.util.ArrayList,不就问题也迎刃而解

三、mbtatis反射获取不到,如何解决?

  • 办法一就是如果场景满足,而且在无编辑集合的情况下,直接将.size的判断挪到service处理,如果为空,那就不用执行到mybatis层了。
  • 办法二就是比如集合判断值代码的一部分那就只能使用第二点解决漏洞的办法来处理了。

http://www.kler.cn/a/146269.html

相关文章:

  • C#文件夹基本操作(判断文件夹是否存在、创建文件夹、移动文件夹、删除文件夹以及遍历文件夹中的文件)
  • laya2.13.3添加Button后报错
  • MySQL 批量插入记录报 Error 1390 (HY000)
  • Halcon 5分钟学会9点标定 带图片示例、示例源码
  • 【活动回顾】sCrypt在2023伦敦区块链大会上的精彩表现
  • Mysql使用周期性计划任务定时备份,发现备份的文件都是空的?为什么?如何解决?
  • 播放器开发(二):了解FFmpeg与SDL常用对象和函数
  • Redis面试题:redis做为缓存,数据的持久化是怎么做的?两种持久化方式有什么区别呢?这两种方式,哪种恢复的比较快呢?
  • 国产Ai大模型和chtgpt3.5的比较
  • 机器学习---贝叶斯网络与朴素贝叶斯
  • 深度解析 Docker Registry:构建安全高效的私有镜像仓库
  • 又3本“On Hold”期刊被剔除!这本Elsevier旗下中科院2区TOP仍在调查中!
  • 代理模式-C语言实现
  • 回归预测 | MATLAB实现SMA+WOA+BOA-LSSVM基于黏菌算法+鲸鱼算法+蝴蝶算法优化LSSVM回归预测
  • 人工智能-注意力机制之注意力汇聚:Nadaraya-Watson 核回归
  • 数据结构与算法之二叉树: LeetCode 100. 相同的树 (Typescript版)
  • 学位论文撰写-经验
  • Vue路由器(详细教程)
  • ***Linux下Mysql的安装
  • uni-app - 去除隐藏页面右侧垂直滚动条