文章詳情頁(yè)
Java 中各種空(""、u0000、null)的區(qū)別?
瀏覽:138日期: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í)沒什么區(qū)別的,都是從常量池推一個(gè)字符串到棧頂,并賦給本地變量。
0: ldc #16 // String2: astore_13: return
2.String s2=null的情況,這個(gè)時(shí)候,并沒有在常量池中生成任何的字符串常量,僅僅是將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. 數(shù)組按鍵值封裝!2. java - web項(xiàng)目中,用戶登陸信息存儲(chǔ)在session中好 還是cookie中好,取決于什么?3. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問(wèn)題4. Mysql取下一條記錄5. mysql - 查詢字段做了索引為什么不起效,還有查詢一個(gè)月的時(shí)候數(shù)據(jù)都是全部出來(lái)的,如果分拆3次的話就沒問(wèn)題,為什么呢。6. mysql - 大部分?jǐn)?shù)據(jù)沒有行溢出的text字段是否需要拆表7. 老師,怎么不講一次性添加多個(gè)數(shù)據(jù)8. python - linux 下用wsgifunc 運(yùn)行web.py該如何修改代碼9. pdo - mysql 簡(jiǎn)單注入疑問(wèn)10. 表格對(duì)其 只涉及到對(duì)其,沒有涉及到大小,長(zhǎng)寬還有背景色類的嗎
排行榜

熱門標(biāo)簽