反射学习——反射修改String中的value属性(char[])

上图结论:可以通过反射获取String对象的value属性,然后有两种方式修改:1.构建一个新的char[]数组进行替换  2.构建一个char[]指向同一对象,对该对象中的内容进行修改(即char[0='X'])

反射结论:对于private修饰的字段,可以利用setAccessible(true)函数处理;同时,反射可以直接处理final或者static修饰的字段;如果需要修改static且final的字段,可以通过去除该字段的修饰符final,将该字段改为只被static修饰,因此也可以进行修改。

注意:无法直接对String类型的字段进行修改是因为JVM在编译时期, 就把final类型的String进行了优化, 在编译时期就会把String替换成常量。

另外看到的优质文章:https://www.cnblogs.com/noKing/p/9038234.html

posted on 2023-09-17 21:16  HHHuskie  阅读(48)  评论(0编辑  收藏  举报

导航