有没有办法从java中的String获取char []并且空间复杂度= O(1)?
我尝试使用toCharArray,但空间复杂度= O(n)
答案 0 :(得分:2)
因为字符串在Java中是不可变的,所以后台字符数组永远不会公开(没有办法阻止您修改其内容)。较旧版本的Java还支持以压缩方式存储ASCII字符串,因此即使是字符串也支持保证字符串。
你可以使用支持数组的CharBuffers执行此操作。与String类似,CharBuffer甚至实现了CharSequence,因此它将与某些API(如Pattern.matcher)兼容。
答案 1 :(得分:2)
有一种可行的方法可以做到这一点,但并非全部推荐。您可以使用Java Reflection API从类型[src*="hypster"] {
visibility: invisible!important;
volume: 0!important;
box-shadow: 4px 4px aqua;
}
的字符串类中获取私有字段value
,然后获取该字段的对象值。您可以使用以下代码执行此操作:
char[]
更改char数组的值会使事情变得非常快,并且您将在整个系统中看到它的效果,因为Java维护了一个字符串池并且可以根据请求实例化它们。