字符串replace方法替换不成功的问题

字符串replace()方法必须重新赋值到属性

实际上是替换成功的,但是如果你没有用对象接收它就变成垃圾数据了,最终被你认为没有替换成功

String str = "[{\"label\":\"微信图片_20220809133051.jpg\",\"value\":\"https://oss.kinbloc.com/upload/20220830/f3afcf264640eb0403c6ced2600d7e85.jpg\"}]";
//这里重新赋值给str        
//如果单纯的str.replaceAll("\"", "");这样是错误的,因为final修饰的str是不能修改的,所以需要重新赋值回str
str = str.replaceAll("\"", "'");

原因:因为字符串被final关键字修饰,所以替换后会生成一个新的字符串在方法区,如果没有赋值给属性就是垃圾对象,下一次gc会被回收。

你可能感兴趣的:(Java基础,java)