Java中關(guān)于String的兩種賦值方式
String的兩種賦值方式
一、直接賦值
二、new對(duì)象賦值
String類比較是否相等
- 1.== 比較的是棧內(nèi)存中的值 而基本數(shù)類型 在棧內(nèi)存儲(chǔ)的就是本身的值 所以基本數(shù)據(jù)類型比較就用 ==
- 2.引用數(shù)據(jù)類型在棧內(nèi)存儲(chǔ)的是地址值,所以==比較引用數(shù) 據(jù)類型就相當(dāng)于比較兩個(gè)對(duì)象的地址值,而只要是new出來(lái)的 地址值肯定不相同。所以比較地址值無(wú)意義。
我們應(yīng)該比較引用數(shù)據(jù)類型堆內(nèi)存中的真正內(nèi)容所以 字符串比較堆內(nèi)存中的具體值需要用到equasl方法
String兩種賦值方式的區(qū)別
- 1.如果是new對(duì)象賦值那么直接開辟空間
- 2.==直接(字面量)賦值涉及到共享涉及模式 系統(tǒng)默認(rèn)處理 第一個(gè)賦值的會(huì)開辟空間,隨后每個(gè)賦值的如果有和這個(gè)相等的則指向同一塊內(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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 正則表達(dá)式入門詳解(基礎(chǔ)進(jìn)階)
最近看到很多同學(xué)想要學(xué)習(xí)java正則表達(dá)式的一些知識(shí),那么腳本之家小編就為大家介紹一下,其實(shí)正則表達(dá)式實(shí)用性很強(qiáng),處理大幅文字的時(shí)候都需要用得到,語(yǔ)法也大同小異2017-10-10
Minio環(huán)境部署過(guò)程及如何配置HTTPS域名
MinIO?是一個(gè)對(duì)象存儲(chǔ)系統(tǒng),數(shù)據(jù)需要存儲(chǔ)在宿主機(jī)上,容器的重啟不影響數(shù)據(jù),因此我們需要為?MinIO?創(chuàng)建一個(gè)掛載目錄,用于持久化存儲(chǔ)數(shù)據(jù),本文詳細(xì)介紹了如何部署MinIO,并通過(guò)配置反向代理和HTTPS來(lái)提升其安全性,感興趣的朋友一起看看吧2025-03-03
j2ee之AJAX二級(jí)聯(lián)動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了j2ee之AJAX二級(jí)聯(lián)動(dòng)效果的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
詳解如何使用ModelMapper庫(kù)進(jìn)行對(duì)象之間的屬性映射
這篇文章主要介紹了如何使用ModelMapper庫(kù)進(jìn)行對(duì)象之間的屬性映射實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
SpringBoot集成thymeleaf瀏覽器404的解決方案
前后端不分離的古早 SpringMVC 項(xiàng)目通常會(huì)使用 thymeleaf 模板引擎來(lái)完成 html 頁(yè)面與后端接口之間的交互,如果要將項(xiàng)目架構(gòu)升級(jí)成 SpringBoot , thymeleaf 也可以照常集成,但有時(shí)候會(huì)踩到一些坑,所以本文給大家介紹了SpringBoot集成thymeleaf瀏覽器404的解決方案2024-12-12
mybatis和mybatis-plus同時(shí)使用的坑
本文主要介紹了mybatis和mybatis-plus同時(shí)使用的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Opencv實(shí)現(xiàn)身份證OCR識(shí)別的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Opencv實(shí)現(xiàn)身份證OCR識(shí)別功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下2024-03-03
SpringBoot綁定配置文件中變量的四種方式總結(jié)
當(dāng)在Spring Boot中需要綁定配置文件中的變量時(shí),可以使用以下注解:@PropertySourc,@Value,@Environment,@ConfigurationProperties,具體實(shí)現(xiàn)代碼示例文中講解的非常詳細(xì),需要的朋友可以參考下2023-11-11

