【发布时间】:2018-03-19 03:02:10
【问题描述】:
在采访资料库中看到了这个问题。有办法实现吗?
我的猜测是,这是一个技巧问题。由于字符串是不可变的,因此无法在常量空间中执行此操作。
【问题讨论】:
-
你是对的。
-
它是一个实际的
String对象,还是一个“字符串”?可以将字符数组或 StringBuilder 视为字符串。 -
你能验证它是一个实际的字符串对象还是字符列表/数组?
-
这个问题实际上是关于 Java 的吗?
-
如果您希望
Strings 是不可变的,那是不可能的。因为您需要分配第二个String来实现这一点,这与O(1)空间冲突。但是,您可以使用反射来操作String,从而有效地使类不可变。不过绝对不会推荐这个,String内部发生的事情太多可能会中断。