创建一个可变的 java.lang.String
众所周知,Java的字符串是不可变的。自Java问世以来,不可变字符串便成为了一个伟大的补充。不可变性允许快速访问和许多优化,与C风格的字符串相比,显著减少出错的可能性,并有助于强制执行安全模型。
有可能在不使用任何技巧的情况下创建一个可变字符串,即:
java.lang.reflect
sun.misc.Unsafe
- 引导类加载器中的类
- JNI(或JNA,因为它需要JNI)
但是否可能只使用纯粹的Java来实现,以便字符串可以随时修改?问题是如何实现?