一文弄懂String的所有小秘密
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介 String是java中非常常用的一个对象类型。可以说java中使用最多的就是String了。那么String到底有哪些秘密呢?接下来本文将会一一讲解。 String是不可变的 String是不可变的,官方的说法叫做immutable或者constant。 String的底层其实是一个Char的数组。 所有的String字面量比如"abc"都是String的实现。 考虑下面的赋值操作: 对于java虚拟机来说,"abc"是字符串字面量,在JDK 7之后,这个字符串字面量是存储在java heap中的。而在JDK 7之前是有个专门的方法区来存储的。 有了“abc”,然后我们将“abc” 赋值给a和b。 可以看到这里a和b只是java heap中字符串的引用。 再看看下面的代码发生了什么: 首先在java heap中创建了“abc”,然后调用String的构造函数: 在构造函数中,String将底层的字符串数组赋值给value。 因为Array的赋值只是引用的赋值,所以上述new操作并...






