Java中的string定义的两种方法和区别
生活随笔
收集整理的這篇文章主要介紹了
Java中的string定义的两种方法和区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
java中的String定義的兩種方法和區(qū)別
第一種:new方式
String s1 = new String(“hello world”); String s2 = new String(“hello world”); System.out.println(s1 == s2);//輸出false第二種:直接引用
String s3 = “hello world”; String s4 = “hello world”; System.out.println(s3 == s4);//輸出true相同點(diǎn):上面兩個(gè)java程序都是首先建立一個(gè)緩沖區(qū),里面放著字符串“hello world”。
區(qū)別:在第二種方法里,再建立新字符串時(shí),首先會(huì)檢查緩沖區(qū)有沒(méi)有這個(gè)字符串,如果有,直接返回進(jìn)行引用,不再建一個(gè)緩沖區(qū)。所以,輸出結(jié)果為true。
在第一種方法里,同樣會(huì)檢查緩沖區(qū)是否存在這個(gè)字符串,但是不管有沒(méi)有,都會(huì)新建一個(gè)堆。如果緩沖區(qū)不存在這個(gè)字符串,就要新建一個(gè)。因?yàn)槭莾蓚€(gè)堆,所以兩個(gè)字符串不一樣,輸出為false。
總結(jié)
以上是生活随笔為你收集整理的Java中的string定义的两种方法和区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sql-server基础知识四(视图和索
- 下一篇: Java程序转成exe可执行程序方法和e