卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java 創(chuàng)建String的兩種方式有什么區(qū)別?

創(chuàng)建String的兩種方式有什么區(qū)別?一般來說,創(chuàng)建字符串對象有兩種方法:一種是new type:string s=new string(“ABC”);另一種是雙引號類型:string s=“ABC”

創(chuàng)建String的兩種方式有什么區(qū)別?

一般來說,創(chuàng)建字符串對象有兩種方法:一種是new type:string s=new string(“ABC”);另一種是雙引號類型:string s=“ABC”)。這兩種方法有什么區(qū)別?

A:這兩種方法在內(nèi)存中生成具有不同訪問機(jī)制的字符串對象。

Java為字符串類型提供了緩沖池機(jī)制。當(dāng)使用雙引號定義對象時,Java環(huán)境首先轉(zhuǎn)到字符串緩沖池以查找具有相同內(nèi)容的字符串。如果存在,則直接應(yīng)用。如果它們不存在,則將創(chuàng)建一個新字符串并將其放置在緩沖池中。示例代碼如下:

string a=“Tom”

string B=“Tom”

在上訴代碼中,變量a和B在緩沖區(qū)中使用相同的存儲對象。

使用字符串構(gòu)造方法定義對象時,Java環(huán)境將在每次調(diào)用時創(chuàng)建一個新對象,就像創(chuàng)建其他類型的對象一樣。示例代碼如下:

string a=new string(“Tom”)

string B=new string(“Tom”)

在上述代碼中,變量a和B使用兩個不同的存儲對象,但對象的內(nèi)容相同。

運(yùn)行結(jié)果如下:

結(jié)論:string s=new string(“ABC”)和string s=“ABC”都可以定義string類型的對象,但需要注意它們之間的區(qū)別。一般情況下,建議使用string s=“ABC”模式,因?yàn)檫@種模式采用字符串緩沖池機(jī)制,效率更高。