文章詳情頁(yè)
Java 中各種空(""、u0000、null)的區(qū)別?
瀏覽:94日期:2024-01-19 13:53:23
問(wèn)題描述
String s1 = '';String s2 = 'u0000';String s3 = null;
s1、s2、s3 的區(qū)別,分別在字符串常量池和棧中的儲(chǔ)存情況?
問(wèn)題解答
回答1:從class字節(jié)碼的角度來(lái)理解吧1.String s1 = ''的情況,下面是編譯后的字節(jié)碼,可以看到,這種情況s1='aaa'其實(shí)沒(méi)什么區(qū)別的,都是從常量池推一個(gè)字符串到棧頂,并賦給本地變量。
0: ldc #16 // String2: astore_13: return
2.String s2=null的情況,這個(gè)時(shí)候,并沒(méi)有在常量池中生成任何的字符串常量,僅僅是將null推送到棧頂賦值給變量。
0: aconst_null1: astore_12: return
3.String s3 = 'u0000'的情況,會(huì)在常量池生成一個(gè)表示NUL的一個(gè)字符串,也就是所謂的Control Character。
0: ldc #16 // String NUL2: astore_13: return回答2:
測(cè)試環(huán)境:jdk-8.0-102
標(biāo)簽:
java
相關(guān)文章:
1. javascript - js 寫(xiě)一個(gè)正則 提取文本中的數(shù)據(jù)2. javascript - 為什么我的vue里的router-link不起作用3. javascript - js一個(gè)小的算法問(wèn)題,找個(gè)好一點(diǎn)的答案。4. javascript - vue子路由匹配渲染到頂級(jí)視圖層問(wèn)題5. 算法 - python 給定一個(gè)正整數(shù)a和一個(gè)包含任意個(gè)正整數(shù)的 列表 b,求所有<=a 的加法組合6. javascript - 游戲里物體角色層次渲染邏輯和代碼怎么寫(xiě)才好?7. javascript - 發(fā)現(xiàn)個(gè)奇怪的問(wèn)題,寫(xiě)的css動(dòng)畫(huà)當(dāng)我把標(biāo)簽頁(yè)收起時(shí)動(dòng)畫(huà)自動(dòng)暫停了8. javascript - 新組成的數(shù)組打印出來(lái)出現(xiàn)問(wèn)題,里面有對(duì)象,但長(zhǎng)度為空9. javascript - 關(guān)于Lazyload遇到的問(wèn)題10. javascript - 如果根據(jù)參數(shù)給table中的tr綁定不同事件
排行榜

熱門(mén)標(biāo)簽