Java中關(guān)于String的兩種賦值方式
更新時間:2024年01月16日 14:36:00 作者:.二丫.
這篇文章主要介紹了Java中關(guān)于String的兩種賦值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
String的兩種賦值方式
一、直接賦值
二、new對象賦值
String類比較是否相等
- 1.== 比較的是棧內(nèi)存中的值 而基本數(shù)類型 在棧內(nèi)存儲的就是本身的值 所以基本數(shù)據(jù)類型比較就用 ==
- 2.引用數(shù)據(jù)類型在棧內(nèi)存儲的是地址值,所以==比較引用數(shù) 據(jù)類型就相當(dāng)于比較兩個對象的地址值,而只要是new出來的 地址值肯定不相同。所以比較地址值無意義。
我們應(yīng)該比較引用數(shù)據(jù)類型堆內(nèi)存中的真正內(nèi)容所以 字符串比較堆內(nèi)存中的具體值需要用到equasl方法
String兩種賦值方式的區(qū)別
- 1.如果是new對象賦值那么直接開辟空間
- 2.==直接(字面量)賦值涉及到共享涉及模式 系統(tǒng)默認(rèn)處理 第一個賦值的會開辟空間,隨后每個賦值的如果有和這個相等的則指向同一塊內(nèi)存
package Object; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub /* * String s1 = "hello world"; * String s2 = new String("hello world"); * * System.out.println(s1 == s2); * 結(jié)果為:false */ /* * String s1 = new String("hello"); * String s2 = new String("hello"); * * System.out.println(s1==s2); * 結(jié)果為:false * * //比較的是堆棧中的內(nèi)容 * boolean f = s1.equals(s2); * System.out.println(f); * 結(jié)果為:true */ /* * String s1 ="world"; * String s2 ="world"; * * System.out.println(s1==s2); * 結(jié)果為:true * * */ } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
取消idea雙擊shift鍵時出現(xiàn)的全局搜索的問題分析
這篇文章主要介紹了取消idea雙擊shift鍵時出現(xiàn)的全局搜索的問題分析,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-10解決lambda表達(dá)式內(nèi)出現(xiàn)異常無法throw拋出的問題
這篇文章主要介紹了lambda表達(dá)式內(nèi)出現(xiàn)異常無法throw拋出的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09SpringBoot多環(huán)境配置及配置文件分類實例詳解
這篇文章主要介紹了SpringBoot多環(huán)境配置及配置文件分類,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10java編程FinalReference與Finalizer原理示例詳解
這篇文章主要為大家介紹了java編程FinalReference與Finalizer的核心原理以及示例源碼的分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01Java8 將一個List<T>轉(zhuǎn)為Map<String,T>的操作
這篇文章主要介紹了Java8 將一個List<T>轉(zhuǎn)為Map<String, T>的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02如何把char數(shù)組轉(zhuǎn)換成String
這篇文章主要介紹了如何把char數(shù)組轉(zhuǎn)換成String問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02