回覆列表
  • 1 # 網路圈

    我們知道,在Java中建立字串(物件)常見有多種方式:

    1、Java字面量

    "Java字串"

    2、直接定義字串常量

    String str="Java字串";

    3、透過例項化String類來建立字串物件

    String str=new String("Java字串");

    而Java中的String字串是可以直接當成物件來操作的,這是什麼原理呢?

    Java中的字串本質上都是字串物件

    像以上定義“字串”的方式其實在Java虛擬機器中都是生成了字串物件,只不過這些字串物件在記憶體中的存取機制不同的。比如說:

    1、字串字面量、字串常量池

    Java中的字串字面量就是一對用雙引號括起來的字串,比如:“華人”。

    字串常量是永生代,通俗的說就是常量池,當遇到 String str="字串" 時,編譯器會在永生代中檢查是否存在這個常量的引用,若存在則直接把地址賦給棧;若不存在則先在永生代中開闢記憶體空間,然後把地址賦給棧指標。

    也就是說,字串常量池中存放的依舊是字串物件的引用。

    2、例項化字串物件

    這種方式會根據String物件再次建立一個String物件,從堆記憶體中new一塊新記憶體後將指標賦給棧指標。

    綜上,無論是哪種方式建立的字串,其本質依舊是字串物件,所以在Java中字串可以當成物件來管理。

  • 2 # 山水1320

    看到java,String這兩個單詞,真的是霧裡看花,水中望月。平時除了上上網,看看新聞或其他節目。對網際網路及電腦專業知識懂得甚少。看來還是那句老話,活到老學到老。藉此良機,學習新的知識何樂而不為呢。至於在jav中為什麼String字串可以作為物件來管理?從非專業的角度談一下看法。

    java;是一門面向物件程式語言。

    String:是程式語言的字串,如“USA",“美華人"。String是java等程式語言中的字串,字串是一個特殊的物件,屬於引用型別。在java中,String類物件建立後,字串一旦初始化就不能更改。因為字串類中所有的字串都是常量,所以資料無法更改。由於字串類的不可變更,因此可以共享。對於String的任何改變,都會返回一個新的String物件。據此原理,字串做為程式語言的引用詞語,肯定是要符合程式語言的程式需要而組成。規範的應用,也需要對字串物件的科學管理。也就是更簡捷準確的引用表達。

    java經過二十多年的應用,越來越成熟,真的是日新月異,給人們的工作生活帶來了很大的方便。一個全新的高智慧化社會正在造福於全人類的共同進步。

  • 中秋節和大豐收的關聯?
  • 服用複方阿膠漿是否有忌口?