激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 基于String變量的兩種創建方式(詳解)

基于String變量的兩種創建方式(詳解)

2020-11-29 13:45Java教程網 Java教程

下面小編就為大家帶來一篇基于String變量的兩種創建方式(詳解)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在java中,有兩種創建String類型變量的方式:

?
1
2
String str01="abc";//第一種方式
String str02=new String("abc");//第二種方式

第一種方式創建String變量時,首先查找JVM方法區的字符串常量池是否存在存放"abc"的地址,如果存在,則將該變量指向這個地址,不存在,則在方法區創建一個存放字面值"abc"的地址。

第二種方式創建String變量時,在堆中創建一個存放"abc"的對象,使變量str02指向堆中的對象。

根據上面的創建方式,觀察下面的示例:

?
1
2
3
4
5
6
7
String str01 = "abc";
String str02 = "abc";
String str03 = new String("abc");
String str04 = new String("abc");
System.out.println("str01==str02:" + (str01 == str02));
System.out.println("str03==str04:" + (str03 == str04));
System.out.println("str01==str03:" + (str01 == str03));

分析:

1、在創建str01時,方法區的字符串常量池中沒有存儲"abc"的地址,就在常量池中創建一個存放"abc"的地址,使變量str01指向該地址。創建str02時,字符串常量池已存在存放"abc"的地址,將str02變量指向該地址,此時str01與str02指向同一內存地址,所以"str01==str02"為true。

2、使用new關鍵字創建對象時,每一次都會在堆中創建一個新的對象,所以str03與str04指向對象的地址不同,"str03==str04"為false。

3、str01指向方法區,str03指向堆,所以"str01==str03"為false。

基于String變量的兩種創建方式(詳解)

String對象被設計成不可改變的對象,即String對象所包含的字面值發生改變時,會開辟一個新的地址,創建一個新的對象,原地址不變。

?
1
2
3
String str01 = "abc";
String str02 = "abc";
str01="def";

基于String變量的兩種創建方式(詳解)

在方法區的字符串常量池中建立一個新的存儲"def"的地址,str01指向該地址,str02的指向不變。

以上這篇基于String變量的兩種創建方式(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人三级视频在线观看 | 久久伊| 久久免费精品视频 | 视屏一区| 欧美一级在线免费 | 日韩黄在线观看 | 午夜视频观看 | 国产女同玩人妖 | 视频二区国产 | 一级黄色片武则天 | 在线观看日韩中文字幕 | 午夜精品久久久久久久爽 | 久国久产久精永久网页 | 免费黄色在线电影 | 在线免费观看日韩视频 | 欧美一区二区三区免费观看 | 香蕉视频破解 | 久操免费在线视频 | 成人aaaa免费全部观看 | 鲁丝一区二区三区不属 | 亚洲精品一区二区三区免 | 亚洲精品久久久久久久久久 | 国产精品一区二区三区99 | 羞羞视频在线免费 | 欧美日韩专区国产精品 | 久久精品探花 | 久久久一区二区三区四区 | 羞羞视频免费网站日本动漫 | 欧美成人三级大全 | 露脸各种姿势啪啪的清纯美女 | 国产精品三级a三级三级午夜 | 99影视在线视频免费观看 | h视频免费在线 | 亚洲人成免费 | 天堂二区 | 欧美18一12sex性处hd | 成人男女啪啪免费观看网站四虎 | 91女上位 在线播放 性欧美日本 | 久久久大片 | 久久国产精品影视 | 曰韩一级片 |