字串物件引用可以更改嗎? 它是可變的嗎?

發布 健康 2024-06-29
8個回答
  1. 匿名使用者2024-01-30

    字串無法更改。

    假設你 resutl="hello";然後。

    resutl+="test";

    ,相當於重新生成乙個呼叫"hello test",然後將結果指向新物件。

    但你原本"test"是一樣的,只是沒有提到他。

    你可以使用 stringbuffer()。'如果有 3 個以上的字元更改,可以考慮使用 stringbuffer

  2. 匿名使用者2024-01-29

    建立字串物件後,對“此物件”的引用是不可變的! 也就是說,該值是不可變的!

    結果+=字段[i];

    之後,將建立乙個新的字串物件,但這次對結果的引用已更改。

    也就是說,這次的結果不是最後一次!

    ex : string str="string1";

    string str="string2";

  3. 匿名使用者2024-01-28

    你的將在這個迴圈中得到乙個錯誤! 使用返回,但尚未收到帶有變數的返回! 一句話,剛學會,我什麼都不懂基礎知識!

  4. 匿名使用者2024-01-27

    樓上,我很疑惑,我該如何解釋房東寫的迴圈錯誤。

  5. 匿名使用者2024-01-26

    正解決方案:由於字串物件在建立後實際上儲存在記憶體中的資料段中,因此將字串型別引用更改為新字串實際上會更改字串物件的引用位址,而不是實際值。

    例如:string s ="abc";

    s = "123";

    在記憶體中,乙個在資料段區域中初始化"abc"然後將引用分配給 S 字串物件,並在第二句話中,在資料段區域中初始化另乙個引用"123"然後將引用傳遞給 s 實際上並沒有直接放置它"abc""123",問題是字串無法更改。

  6. 匿名使用者2024-01-25

    public final class string

    說字串不變意味著它被定義了,final,不能被繼承,並且方法不能被重寫。

    這並不是說對此物件的引用是不可變的。

  7. 匿名使用者2024-01-24

    大寫 s?你寫了自己的類,對吧? 如果是這樣,沒有人能回答你的問題。

  8. 匿名使用者2024-01-23

    字串型別的值是字串常量池中字串的第一行**由 new 建立,字串物件在字串常量池中建立"aaa",池外的堆空間也會建立乙個新物件,並將物件的位址返回給 S1,而 S1 又指向字串常量池"aaa"。

    第二行也是由 new 建立的,並在字串常量池中建立乙個新的字串物件"bbb",所以當然不會改變原來的樣子"aaa",即原文"aaa"儲存它的位址仍然存在"aaa","bbb"同時,new 意味著在堆空間中建立乙個新物件並將位址返回給 s1,而 s1 又指向字串常量池"bbb",則上一行在堆空間中建立的物件將變為垃圾,因為 S1 不再指向它。

    所以改變的是變數 s1 的指向,它不會改變字串常量池中的字串。

相關回答
16個回答2024-06-29

當然不是,這取決於小狗是否能適應它,但我建議你不要給它喝水,因為它可能會導致嘔吐和疾病。

20個回答2024-06-29

在我看來,每個都有自己的優點和缺點。 雙系統的優點是一台計算機有 2 個系統。 而且它們不會相互干擾。 >>>More

7個回答2024-06-29

對於正常人來說,空腹吃香蕉對健康有害是很多問題,但對於腎功能受損的人來說,無論是否禁食,都不要多吃香蕉,以防止因鉀排洩受損而導致的高鉀血症。

5個回答2024-06-29

是的,但要看對方是否匹配你,有沒有緣分,如果沒有,你就是浪費時間! 另外,如果你們倆彼此喜歡,可以互相付出,如果可以的話,那麼你可以考慮一下。

11個回答2024-06-29

牛奶是補充營養的最佳選擇之一,但是有很多人有早上只喝牛奶的習慣,那麼早上空腹喝牛奶可以嗎?