亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

清晰了解String操作

系統 1947 0

我們來看一段再經典不過的程序:

    
      class StringTest 

{
	public static void main(String[] args) 

	{

		String s=new String("abc");

		String s1="abc";

		String s2=new String("abc");

		System.out.println(s==s1);

		System.out.println(s1==s2);

		System.out.println(s==s2);

	}

}
    
  



大伙兒都知道內存中有兩塊兒存儲區域,分別是棧和堆,加上JAVA字符串是由字符串池管理的,所以,我們的內存可以這樣劃分:



程序開始前所有區域都是空的,現在我們執行第一條語句

?

Java代碼

????? String?s= new ?String( "abc" );??

?

????? JAVA執行流程是這樣的。首先判斷字符串池里有沒有值為"abc"的對象,由于這行語句實在程序第一句,字符串池是空的,所以,它會現在字符串池里構造一個值為"abc"的對象,然后執行new語句后,再把“abc”拷貝到堆里面,關于一個new String構造方法解釋.

?????? 然后s再指向這個對象,如圖:

所以說,執行完這一行代碼后生成了兩個對象,一個是在字符串池里,一個是在堆里

然后看第二句:

Java代碼 復制代碼
  1. String?s1= "abc" ;??

????? ?執行到這一句時又產生了幾個對象?答案是一個也沒產生!執行是這樣的,當程序看到"abc"后,會先到字符串池里找看有沒有"abc",由于執行完第一行語句后字符串池里已經有"abc"了就不再創建,注意這里并沒有new的操作,而是直接常量賦值,所以s1會直接指向這個"abc"而不會在堆里產生新的對象,如圖


程序接著往下走

Java代碼 復制代碼
  1. String?s2= new ?String( "abc" );??

???? ?這次又產生了幾個對象,一個!

????? 程序還是會現在字符串池里找"abc",發現有,就不再字符串池里產生新的對象了,接著執行new操作,記著,在JAVA中,只要出現new操作,一定會有新的對象產生,不管這個對象是否存在多少次,所以它又會在堆里生成一個內容為"abc"的對象,如圖

?

好了,只剩下比較了,注意這里是用的是==,在JAVA中,==永遠是比較兩個引用是否指向同一個對象的,看到上圖,答案不用再揭曉了吧

清晰了解String操作


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 九九黄色大片 | 色综合亚洲欧美在线 | 国产精品欧美亚洲韩国日本久久 | 老司机精品99在线播放 | 亚洲精品tv久久久久 | 日韩欧美毛片免费看播放 | 亚洲国产一区在线二区三区 | 国产一级毛片一区二区三区 | 欧美国产日韩911在线观看 | 奇米第四色视频 | 成人欧美精品久久久久影院 | 亚洲高清不卡视频 | 国产精品成人扳一级aa毛片 | 香蕉视频禁止18 | 片在线观看 | 四虎影院久久 | 日本中文字幕一区二区 | 四虎免费看黄 | 日本中文一二区有码在线观看 | 国产精品爱久久久 | 国产精品高清一区二区三区 | 中国女人和老外的毛片 | 国产日韩欧美亚洲 | 日韩欧美综合 | 999yy成年在线视频免费看 | 成人欧美一区二区三区视频xxx | 日韩毛片基地一区二区三区 | 国产嘿咻 | 国产色产综合色产在线观看视频 | 四虎影视在线影院4hutv | 日日摸夜夜添夜夜添人人爽 | 伊人成影院九九 | 久热在线视频 | 国产农村妇女毛片精品久久 | 久久久久欧美国产精品 | 国产日韩一区二区三区在线播放 | 999这里只有精品 | 久久男人 | 99热久久国产精品这里 | 欧美一区二区三区在观看 | 亚洲国产二区三区久久 |