最新亚洲精品福利在线,欧美一区二区三区大片,久久91无码一区二区三区,色哟哟免费观看视频入口,美女裸露双奶头屁股无裸体

Java--string是引用數(shù)據(jù)類型嗎?

時(shí)間:2022-03-17 11:21:20 類型:JAVA
字號(hào):    

string是引用數(shù)據(jù)類型嗎?答案是肯定的。??8個(gè)基本類型是值類型,其他都是引用?。?/p>


在Java中,數(shù)組和String字符串都不是基本數(shù)據(jù)類型,它們被當(dāng)作類來(lái)處理,是引用數(shù)據(jù)類型。

引用類型(reference type)指向一個(gè)對(duì)象,不是原始值,指向?qū)ο蟮淖兞渴且米兞俊?/p>


在java里面除去基本數(shù)據(jù)類型的其它類型都是引用數(shù)據(jù)類型,自己定義的class類都是引用類型,可以像基本類型一樣使用。

在java編程語(yǔ)言中,用類的一個(gè)類型聲明的變量被指定為引用類型,這是因?yàn)樗谝靡粋€(gè)非原始類型,這對(duì)賦值具有重要的意義。如下代碼:

int x = 5;

int y = x;

String s = "Hello";

String t = s;

四個(gè)變量被創(chuàng)建:兩個(gè)原始類型 int 和兩個(gè)引用類型String。x的值是5,而這個(gè)值被復(fù)制到y(tǒng);x和y是兩個(gè)獨(dú)立的變量且其中任何一個(gè)的進(jìn)一步的變化都不對(duì)另外一個(gè)構(gòu)成影響。至于變量s和t,只有一個(gè)String對(duì)象存在,它包含了文本"Hello",s和t均引用這個(gè)單一個(gè)對(duì)象。如果將變量t重新定義為t="World";則新的對(duì)象World被創(chuàng)建,而t引用這個(gè)對(duì)象。


“在Java里面參數(shù)傳遞都是按值傳遞”這句話的意思是:按值傳遞是傳遞的值的拷貝,按引用傳遞其實(shí)傳遞的是引用的地址值,所以統(tǒng)稱按值傳遞。


舉例:


為什么String str="scce";

String str2="scce";

str==str2返回true而String str2=new String("scce"); str==str2返回false


String str="scce"; //這是在靜態(tài)數(shù)據(jù)區(qū)創(chuàng)建了一個(gè)對(duì)象

String str2="scce"; //創(chuàng)建靜態(tài)數(shù)據(jù)對(duì)象是先在靜態(tài)數(shù)據(jù)區(qū)查,如果存在則不創(chuàng)建新的,保證靜態(tài)數(shù)據(jù)區(qū)中的數(shù)據(jù)只有一份,


str==str2返回true //指向同一個(gè)對(duì)象

String str2=new String("scce"); str==str2返回false //在堆中創(chuàng)建一個(gè)對(duì)象,引用值當(dāng)然不同


<