大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 java string 字符類型定義的兩種方法

java string 字符類型定義的兩種方法

更新時間:2020-06-19 13:48:02 來源:動力節點 瀏覽3843次

Java中的字符串類String是程序中使用十分頻繁而且在各大公司招聘筆試中必考的知識點之一。本文主要String的用法進行分析。

java string 字符類型定義的兩種方法

用String來定義一個字符串一般有兩種方法:

1.String str=”hello world”;,2.String str=new String(“hello world”);

第一種方式:String str=”hello world”,生成的str是一個字符串常量。放在常量池中,所謂的常量池,是指給每個class類編譯時分配的用來保存class中的常量值,或者常量字符串的一個區域。對于每一個字符串在常量池中只保留一個值,每次用第一種方式定義一個字符串時,jvm就會在常量池中找有沒有相同的字符串,有就返回一個該字符串的地址,如果沒有在常量池中生成該字符串。舉個例子:

定義String str=”helloworld”時jvm會先在常量池中找有沒有常量“helloworld”,因為我們是第一次定義因此并沒有“helloworld”,此時jvm會在常量池中給“helloworld”分配一個地址,并且在棧中給str分配地址;如下圖

java string 字符類型定義的兩種方法

先在在定義一個String str1=“helloworld”,此時jvm會先在常量池中找看有沒有常量值等于“helloworld”的找到了之后直接在棧中為str1分配一個地址,然后讓str1引用常量池中的“helloworld”,此時不再生成“helloworld”如下圖:

java string 字符類型定義的兩種方法

也就是說用第一種方法定義n個相同的字符串,它們都是指向常量池中的同一個常量。

用第二種方式:String str=new(“hello world”);是生成一個字符串對象,該對象存放在堆內存中,當用第二種方法生成多個相同字符串的對象時,便會在堆中生成多個字符串對象。如下:

java string 字符類型定義的兩種方法

最后我們用程序來檢驗一下看看方法一和方法二生成字符串的區別:

在檢驗之前我們先對字符串中的兩種常用的比較方法進行說明:str==str1,與str.equals(str1)的區別,str==str1是比較兩個字符串是否指向的是同一個實體,或者說是不是對同一個實體的引用,str.equals(str1),則僅僅是比較兩個字符串是否相同而不管他們是不是對同一個實體的引用。

public?class?StringTest?{
???public?static?void?main(String[]?args)?{
????????String?str="helloworld";
????????String?str1="helloworld";
????????String?str2=new?String("helloworld");
????????String?str3=new?String("helloworld");
????????System.out.println(":"+(str==str1));
????????System.out.println(":"+(str1==str2));
????????System.out.println(":"+(str2==str3));
????????System.out.println(":"+str.equals(str3));
????}?
}

輸出的結果如下:
:true
:false
:false
:true

由此可知str與str1是引用的同一實體,而str2與str3引用的是不同實體。且str指向的字符串值與str3相同。

java string 字符類型定義的兩種方法

以上就是動力節點java培訓機構的小編針對“java string 字符類型定義的兩種方法”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久热这里只有 | 日韩亚射吧 | 久久综合干 | 四虎网站 | 久久久日本精品一区二区三区 | 91福利在线观看 | 久久成人在线 | 国内欧美一区二区三区 | 国产精品麻豆99久久 | 国产永久精品 | 久久99精品这里精品3 | 久久一区二区免费播放 | 一区二区三区亚洲视频 | 亚洲香蕉在线视频 | 国产精品98视频全部国产 | 色色色爱 | 在线观看视频一区二区 | 九九久久国产精品大片 | 在线播放国产区 | 亚洲欧美国产另类 | 国产91九色在线播放 | 成人久久在线 | 久久99热不卡精品免费观看 | 在线毛片免费观看 | 日韩欧美国产综合 | 国产福利在线观看视频 | 久久久国产乱子伦精品 | 亚洲综合图片人成综合网 | 色老久久精品偷偷鲁一区 | 奇米影视播放器 | 91精品国产爱久久久久久 | 中文字幕一区二区视频 | 香蕉网久久 | 456性欧美欧美在线视频 | 成人性生交大片免费看午夜a | 精品免费久久久久久成人影院 | 久久亚洲热 | 一级毛片免费的 | 国产精品天天影视久久综合网 | 国产一区二区三区精品久久呦 | 亚洲免费视频在线观看 |