
1 powerman 2021-08-17 19:13:20 +08:00 看看 String 实现不就好了 ,java 里面的+号 也不过是一个语法糖,不过一大部分人的计算场景来讲,根本不用考虑字符串这个问题 |
3 1194129822 2021-08-17 19:34:19 +08:00 思而不学则殆 |
4 des 2021-08-17 20:04:36 +08:00 只是编译器 or VM 保证了不变吧,看这个 https://stackoverflow.com/questions/20945049/is-a-java-string-really-immutable |
5 secondwtq 2021-08-17 20:04:38 +08:00 还是要分清 specification 和 implementation > 语言的 string 类型是 immutable 不可变的 (是不是”大多数“就不扯了) 这是 specification 规定的 > 由编译器类型检查保证 这是 implementation 用来 enforce specification 的手段 > 所在的内存是 read-only 这是 implementation 在特定条件下,以不违反 specification 前提做的优化 |