最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java String 類的一些理解 關(guān)于==、equals、null

 更新時(shí)間:2009年06月04日 02:29:47   作者:  
在對(duì)字符串的相等判斷,==判斷的是地址是否相同,equal()判斷的是字符值是否相同。大多數(shù)時(shí)候==跟equal()的結(jié)果都是相同的。
1、String 的==與equal()
在對(duì)字符串的相等判斷,==判斷的是地址是否相同,equal()判斷的是字符值是否相同。大多數(shù)時(shí)候==跟equal()的結(jié)果都是相同的。這是因?yàn)镾tring對(duì)象是不變模式的,如果你不是明確地new一個(gè)String對(duì)象,Java對(duì)于String對(duì)象的保存默認(rèn)的是會(huì)把新生成的String 對(duì)象放到一個(gè)緩沖區(qū),然后每次判斷緩沖區(qū)中是否已經(jīng)有了這個(gè)對(duì)象,如果有了,那么后建立的同樣字符值的String對(duì)象也會(huì)指向最初建立是該字符值對(duì)象的地址。也就是說(shuō)字符值相同的時(shí)候,大多數(shù)情況下地質(zhì)也是相同的。==與equal()效果是相同的。但是當(dāng)對(duì)象是str = new String(“abc”)生成的而不是直接str = “abc”這樣賦值生成,或者經(jīng)過(guò)了一些字符串連接處理,或者通過(guò)StringBuffer等對(duì)象生成,都會(huì)在內(nèi)存中開(kāi)辟新的地址的,這個(gè)時(shí)候==和 equal()結(jié)果是不同的。
是不是稍微有些復(fù)雜?這里需要一些關(guān)于內(nèi)存,堆棧,對(duì)象保存方面的理解。我不想糾纏于這個(gè)問(wèn)題的討論。如果不能理解,那么只要記住如果你想要判斷兩個(gè)字符串的字符值是否相等,沒(méi)有別的要求的時(shí)候,那么請(qǐng)使用equal()而不是==,至于什么時(shí)候需要使用==,我想當(dāng)你需要的時(shí)候,你自然就會(huì)明白了。實(shí)際上,對(duì)于字符串的判斷,我們很少需要用==的。

2、關(guān)于str.equal(“abc”)和”abc”.equal(str)
這個(gè)好像爭(zhēng)論也挺多的,第一種常量寫在后面可能符合大多數(shù)人的習(xí)慣,也符合我們的邏輯思維。但是需要多一個(gè)str是否為null的判斷。否則這里是有可能出現(xiàn)異常的。而后一種寫法不需要多做關(guān)于是否為null這個(gè)判斷。就我個(gè)人喜好來(lái)說(shuō),比較喜歡后一種寫法。

3、關(guān)于String的null

/**
* 測(cè)試java的String為null 的情況
* create date:2009-6-3
* author:Administrator
*
*/
public static void testNull(){
String a= null,b = null,c="呵呵";
System.out.println(a == null);
System.out.println(a+b+c);
}
方法運(yùn)行結(jié)果:
true
nullnull呵呵
所以大家要注意了做字符串合并操作時(shí),別忘記判斷null,否則結(jié)果會(huì)不太讓你爽??!

相關(guān)文章

  • Java Swing窗體關(guān)閉事件的調(diào)用關(guān)系

    Java Swing窗體關(guān)閉事件的調(diào)用關(guān)系

    這篇文章主要為大家詳細(xì)介紹了Java Swing窗體關(guān)閉事件的調(diào)用關(guān)系,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • jpa?EntityManager?復(fù)雜查詢實(shí)例

    jpa?EntityManager?復(fù)雜查詢實(shí)例

    這篇文章主要介紹了jpa?EntityManager?復(fù)雜查詢實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java正則表達(dá)式解析html示例分享

    java正則表達(dá)式解析html示例分享

    這篇文章主要介紹了java正則表達(dá)式解析html示例,用到獲取url的正則表達(dá)式,獲取圖片的正則表達(dá)式,需要的朋友可以參考下
    2014-02-02
  • RocketMQ消息發(fā)送與消息類別詳解

    RocketMQ消息發(fā)送與消息類別詳解

    這篇文章主要介紹了RocketMQ消息發(fā)送與消息類別詳解,事務(wù)消息的生產(chǎn)者執(zhí)行本地事務(wù),并根據(jù)事務(wù)執(zhí)行的結(jié)果選擇是否提交或回滾事務(wù),
    如果事務(wù)執(zhí)行成功并選擇提交事務(wù),則產(chǎn)生注冊(cè)成功消息,進(jìn)入下一步,需要的朋友可以參考下
    2023-09-09
  • java基于QuartzJobBean實(shí)現(xiàn)定時(shí)功能的示例代碼

    java基于QuartzJobBean實(shí)現(xiàn)定時(shí)功能的示例代碼

    QuartzJobBean是Quartz框架中的一個(gè)抽象類,用于定義和實(shí)現(xiàn)可由Quartz調(diào)度的作業(yè),本文主要介紹了java基于QuartzJobBean實(shí)現(xiàn)定時(shí)功能的示例代碼,具有一定的參考價(jià)值,感興趣可以了解一下
    2023-09-09
  • Spring中BeanFactory解析bean詳解

    Spring中BeanFactory解析bean詳解

    本篇文章主要介紹了Spring中BeanFactory解析bean詳解 ,詳細(xì)的介紹了使用BeanFactory對(duì)bean進(jìn)行解析的實(shí)例,有興趣的可以了解一下。
    2017-04-04
  • spring boot打包成可執(zhí)行jar包

    spring boot打包成可執(zhí)行jar包

    本篇文章主要介紹了spring boot打包成可執(zhí)行jar包,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法

    java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法

    本篇文章主要介紹了java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Java多線程模擬電影售票過(guò)程

    Java多線程模擬電影售票過(guò)程

    這篇文章主要為大家詳細(xì)介紹了Java多線程模擬電影售票過(guò)程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • idea新建聚合項(xiàng)目并附上標(biāo)簽的詳細(xì)過(guò)程

    idea新建聚合項(xiàng)目并附上標(biāo)簽的詳細(xì)過(guò)程

    這篇文章主要介紹了idea新建聚合項(xiàng)目并附上標(biāo)簽的詳細(xì)過(guò)程,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08

最新評(píng)論

横峰县| 齐齐哈尔市| 临猗县| 长顺县| 仪陇县| 河东区| 德令哈市| 新巴尔虎左旗| 庐江县| 彰化县| 凤凰县| 岗巴县| 宁晋县| 昌宁县| 永胜县| 景泰县| 宜兰县| 红安县| 登封市| 上饶市| 谢通门县| 中西区| 台江县| 永仁县| 长寿区| 镇安县| 栾城县| 丁青县| 上蔡县| 高淳县| 临潭县| 常宁市| 台湾省| 买车| 德惠市| 高安市| 汝城县| 富裕县| 宁蒗| 突泉县| 保山市|