第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

string究竟可不可以改變引用?

string究竟可不可以改變引用?

胡子哥哥 2019-04-18 17:15:41
各位大佬,最近關(guān)于string的問(wèn)題始終沒有想明白,希望有大神能夠指點(diǎn)。這里有幾個(gè)問(wèn)題:1、        String a = "a";         a.concat("b");         System.out.println(a); //輸出:a         a = "b";         System.out.println(a); //輸出:b         a = new String("c");         System.out.println(a); //輸出:cstring源碼里是final修飾的類,我看到源碼中concat方法是返回一個(gè)新字符串對(duì)象,知道第一個(gè)輸出是a,但是后面為什么還是可以直接賦值或者new對(duì)象?2、上面那種重新賦值得到的a究竟是引用變了,指向了新的字符串,還是改變了原來(lái)的字符串內(nèi)容?3、為什么重新用final修飾以后,        final String a = "a";         a = "b";  //編譯通過(guò)         a = new String("c"); //編譯錯(cuò)誤string類的final和這里的fianl究竟是怎么回事呢?4、為什么源碼里final修飾的char[]也可以直接賦值?public final class String     implements java.io.Serializable, Comparable<String>, CharSequence {     /** The value is used for character storage. */     private final char value[];     /** Cache the hash code for the string */     private int hash; // Default to 0public String(String original) {         this.value = original.value;         this.hash = original.hash;     }
查看完整描述

4 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

類的final是不能被繼承
屬性上的final是引用的對(duì)象不能變,但是里面的值可以變
1.concat()是新建了一個(gè)String,把兩個(gè)字符串拼起來(lái),a還是沒變,而后面兩種都是改變了引用
2.改變了引用,String對(duì)象不可變
3.兩種賦值都是不允許的,final屬性不可以賦值
4.源碼的value[]這個(gè)變量的引用不可變,但是這個(gè)數(shù)組里的內(nèi)容可以變

查看完整回答
反對(duì) 回復(fù) 2019-05-16
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

String這個(gè)類是Final修飾的,表示該類不可被繼承重寫。屬性用final修飾表示該屬性為常量,不可修改內(nèi)容


查看完整回答
反對(duì) 回復(fù) 2019-05-16
  • 4 回答
  • 0 關(guān)注
  • 1059 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)