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

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

以下代碼段中創(chuàng)建了多少個字符串對象

以下代碼段中創(chuàng)建了多少個字符串對象

FFIVE 2022-11-02 16:15:03
我需要幫助來確定我將提供的代碼創(chuàng)建了多少對象。我會假設(shè)只有一個對象,因為沒有使用“新”運(yùn)算符,但我不確定。System.out.print("Enter a sentence : ");mySentence = keyboard.next();System.out.println("The original is  : " + mySentence);mySentence.toUpperCase();System.out.println("The same one is  : " + mySentence);mySentence = mySentence.toUpperCase();System.out.println("The raised is    : " + mySentence); 
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊

我數(shù)了十:

  1. 第一條語句創(chuàng)建一個 String ("Enter a sentence :") (1)

  2. 第二條語句創(chuàng)建一個字符串 (mySentence) (2)

  3. 第三條語句創(chuàng)建 2 個字符串(""原來是:"" 和串聯(lián)的字符串) (3,4)

  4. 第四句創(chuàng)建一個新字符串(然后丟棄它)(5)

  5. 第五個語句再創(chuàng)建 2 個 (6,7)

  6. 第六個陳述創(chuàng)造了另一個(8)

  7. 最后的語句再創(chuàng)建 2 個 (9,10)


查看完整回答
反對 回復(fù) 2022-11-02
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊

這取決于。

每次創(chuàng)建 String 時,也會創(chuàng)建一個新對象(但這也取決于String pool)。您可以通過將兩個字符串與 進(jìn)行比較來證明這一點(diǎn)==。==測試引用相等(它們是否是同一個對象),同時.equals()測試內(nèi)容相等。

System.out.print("Enter a sentence : ");

final String mySentence = keyboard.next();

System.out.println("The original is  : " + mySentence);

final String mySentence2 = mySentence.toUpperCase();

System.out.println("The same one is  : " + mySentence);

final String mySentence3 = mySentence.toUpperCase();

System.out.println("The raised is    : " + mySentence3); 

System.out.println(mySentence == mySentence2);

System.out.println(mySentence3 == mySentence2);

System.out.println(mySentence3 == mySentence);

輸入字符串“FOO”的輸出是(創(chuàng)建了 1 個對象)


The original is  : FOO

The same one is  : FOO

The raised is    : FOO

true

true

true

輸入字符串“foo”的輸出是(創(chuàng)建了 3 個對象)


The original is  : foo

The same one is  : foo

The raised is    : FOO

false

false

false

toUpperCase()調(diào)用toUpperCase(Locale.getDefault()),它僅在必要時創(chuàng)建一個新的 String 對象。如果輸入字符串已經(jīng)是大寫,則返回輸入字符串(參見此處)。


(加上 7 個對象,如果你計算字符串println)


查看完整回答
反對 回復(fù) 2022-11-02
?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

每次調(diào)用 toUpperCase() 都會創(chuàng)建一個新的 String 對象。即使它看起來像是同一個對象,但它們在內(nèi)存中技術(shù)上是不同的對象,如這段代碼所示


String x = "hello";

String y = x.toUpperCase();

System.out.println(x.equals(y));

//yields false

因此,要回答您的問題,我會說創(chuàng)建了 3 個對象;盡管您沒有在任何地方保存第二個,但它仍然被創(chuàng)建然后立即丟棄


查看完整回答
反對 回復(fù) 2022-11-02
  • 3 回答
  • 0 關(guān)注
  • 171 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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