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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中的對象數(shù)組有什么用?

java中的對象數(shù)組有什么用?

qq_花開花謝_0 2023-08-09 15:16:26
我知道java是按值傳遞的,就這樣。但是,我仍然無法弄清楚這一點(diǎn)。public static void changeTheName(String obj){  obj.toUpperCase(); }這個方法不會影響原來的字符串對象,還算可以理解。因?yàn)樽址遣豢勺兊?,并且字符串文字的變化意味著引用變量現(xiàn)在將引用新對象,而舊對象將留給垃圾收集器。但是當(dāng)我傳遞字符串?dāng)?shù)組時,我可以更改字符串文字,這意味著我可以更改引用。為什么數(shù)組會發(fā)生這種情況,因?yàn)槿绻覀冞@樣做 obj[]= new String[]{} 它不會影響原始數(shù)組,原始數(shù)組仍然引用舊數(shù)組,這類似于直接更改字符串文字public static void ChangeTheName(String obj[]){      for(int i=0;i<obj.length();i++) obj[i]=obj[i].toUpperCase; }編輯: 我正在尋找的答案是 obj 和 obj[0] 的引用是唯一的,這就是為什么第二種方法能夠更改數(shù)組的整個內(nèi)容。因?yàn)槲襾碜?C 背景,所以我認(rèn)為 obj 和 obj[0] 具有相同的引用,但 java 中的情況肯定不是這樣。
查看完整描述

3 回答

?
米琪卡哇伊

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

toUpperCase不改變字符串,它返回一個大寫的新字符串。



查看完整回答
反對 回復(fù) 2023-08-09
?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個贊

 toUpperCase() 不會更改字符串。它返回一個新的大寫字符串。

但據(jù)我了解,您想知道為什么對象值在方法中發(fā)生變化而不是預(yù)先數(shù)據(jù)類型值?

盡管 Java 是嚴(yán)格按值傳遞的,但是傳遞基本類型還是引用類型的精確效果是不同的。

.

當(dāng)我們將基本類型傳遞給方法時,它是按值傳遞的。但是,當(dāng)我們將對象傳遞給方法時,情況會發(fā)生巨大變化,因?yàn)閷ο笫峭ㄟ^有效的引用調(diào)用來傳遞的。Java 做了一件有趣的事情,它是按值傳遞和按引用傳遞之間的混合體?;旧希瘮?shù)不能更改參數(shù),但函數(shù)可以通過調(diào)用其中的某些方法來要求參數(shù)更改自身。

在創(chuàng)建類類型的變量時,我們僅創(chuàng)建對對象的引用。因此,當(dāng)我們將此引用傳遞給方法時,接收它的參數(shù)將引用與參數(shù)引用的同一對象。

這實(shí)際上意味著對象的行為就像通過引用調(diào)用將它們傳遞給方法一樣。

對方法內(nèi)部對象的更改確實(shí)會反映在用作參數(shù)的對象中。


查看完整回答
反對 回復(fù) 2023-08-09
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個贊

如果你像下面這樣做只會改變值。


public static void(String obj[]){

 for(String s:obj) {

   s=s.toUpperCase();

  }

}

我認(rèn)為因此做出改變。




查看完整回答
反對 回復(fù) 2023-08-09
  • 3 回答
  • 0 關(guān)注
  • 154 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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