日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

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

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

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


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

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


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

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

int x = 5;

int y = x;

String s = "Hello";

String t = s;

四個(gè)變量被創(chuàng)建:兩個(gè)原始類(lèi)型 int 和兩個(gè)引用類(lèi)型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ù)傳遞都是按值傳遞”這句話(huà)的意思是:按值傳遞是傳遞的值的拷貝,按引用傳遞其實(shí)傳遞的是引用的地址值,所以統(tǒng)稱(chē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)然不同


<