真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中String的賦值方式有哪些

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)java中String的賦值方式有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)陜州,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

類似普通對象,通過new創(chuàng)建字符串對象。String str = new String("Hello"); 內(nèi)存圖如下圖所示,系統(tǒng)會先創(chuàng)建一個匿名對象"Hello"存入堆內(nèi)存(我們暫且叫它A),然后new關(guān)鍵字會在堆內(nèi)存中又開辟一塊新的空間,然后把"Hello"存進去,并且把地址返回給棧內(nèi)存中的str, 此時A對象成為了一個垃圾對象,因為它沒有被任何棧中的變量指向,會被GC自動回收。

直接賦值。如String str = "Hello"; 首先會去緩沖池中找有沒有一個"Hello"對象,如果沒有,則新建一個,并且入池,所以此種賦值有一個好處,下次如果還有String對象也用直接賦值方式定義為“Hello”, 則不需要開辟新的堆空間,而仍然指向這個池中的"Hello"

java中String的賦值方式有哪些

解釋

l 字符串的內(nèi)容是存放在方法區(qū)的字符串常量池的,沒有的時候就新建一個,已經(jīng)存在的時候就直接指過去。

l String str1 = “AA”,這種是直接操作字符串常量池指過去;String str2 = new String(“AA”);這種是先在堆空間開辟這個類的對象,實際上在內(nèi)部還是指到了字符串常量池;

package two.string.mushroom;
public class TestTwoString 
{
	public static void main(String[] args)
		{
		String str1 = "AA";
		String str2 = "AA";
		String str3 = new String("AA");
		System.out.println("str1 == str2: " + (str1 == str2));
		//它們都指向字符串常量池中的 "AA",true
		System.out.println("str1 == str3: " + (str1 == str3));
		//它們本身指向不同,false
		//String類重寫了equals方法,實際上比較的是字符串的內(nèi)容是否相等,true
		System.out.println("str1.equals(str3): " + (str1.equals(str3)) );
		Animal p1 = new Animal("AA",10);
		Animal p2 = new Animal("AA",12);
		//因為構(gòu)造器中的方式是直接指向字符串常量池的,所以也是true
		System.out.println("p1.name == p2.name: " + (p1.name == p2.name));
	}
}
class Animal
{
	String name;
	int age;
	Animal(String name,int age)
		{
		this.name = name;
		//構(gòu)造器中的方式是直接指向字符串常量池的
		this.age = age;
	}
}

測試結(jié)果

str1 == str2: true 
str1 == str3: false 
str1.equals(str3): true 
p1.name == p2.name: true

java中String的賦值方式有哪些

上述就是小編為大家分享的java中String的賦值方式有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前文章:java中String的賦值方式有哪些
標(biāo)題網(wǎng)址:http://weahome.cn/article/pejjis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部