java字符串長度怎么算 對string常量的字符串長度有沒有限制?
對string常量的字符串長度有沒有限制?字符串以字符數(shù)組的形式存儲(chǔ)。如果數(shù)組的長度為int類型,則字符串的最大允許長度為Integer.MAX價(jià)值觀。因?yàn)镴ava中的字符存儲(chǔ)在16位中,所以存儲(chǔ)最大
對string常量的字符串長度有沒有限制?
字符串以字符數(shù)組的形式存儲(chǔ)。如果數(shù)組的長度為int類型,則字符串的最大允許長度為Integer.MAX價(jià)值觀。因?yàn)镴ava中的字符存儲(chǔ)在16位中,所以存儲(chǔ)最大長度的字符串需要大約4GB的內(nèi)存。但是,這僅適用于字符串變量。如果是用代碼編寫的字符串文字,如“ABC”和“1a2b”,則允許的最大長度取決于該字符串在常量池中的存儲(chǔ)大小,即該字符串在類格式文件Utf8中的存儲(chǔ)格式。理論上,字符串文字的最大長度為2^16-1=65535。然而,實(shí)際測試表明,允許的最大長度只有65534,這是一個(gè)編譯錯(cuò)誤