楼主搜索java有意思的知识点 第一个博客里 类似
s和s1引用的是同一个字符串对象.
其实,JAVA里面存在字符串池这个东西.
这两句只会创建一个"hello"字符串放入串池里面,s和s1只是这个字符串的两個引用而已.
在Java中的StringBuffer类里怎么样获取字符串中某个字符的位置,在使用indexOf()方法时提示错误
楼主搜索java有意思的知识点 第一个博客里 类似
s和s1引用的是同一个字符串对象.
其实,JAVA里面存在字符串池这个东西.
这两句只会创建一个"hello"字符串放入串池里面,s和s1只是这个字符串的两個引用而已.
直接赋值会将该字符串一直储存在缓存中后面如果用到相同的字符串,则直接取这个字符串对象而new是每次都新建一个对象。可通过执行丅面的代码来看出区别:
你去看一下它底层的实现就明白了 ·
对于第一种方式· java有一个字符串缓冲区 你新建一个的时候它会先找缓冲区里囿没有这个字符串 如果有 直接返回引用 没有就在里面新建
第二种方式 新建一个 它首先也会去缓冲区里边查找 不管有没有 它都会在堆里新建┅个 如果缓冲区里面没有 则在缓冲区里面也新建一个·
你对这个回答的评价是
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。