String內(nèi)部是以char數(shù)組的形式存儲,數(shù)組的長度是int類型,那么String允許的最大長度就是Integer.MAX_VALUE = 2^31 - 1 = 2147483647。又由于java中的字符是以16位存儲的,因此大概需要4GB的內(nèi)存才能存儲最大長度的字符串。
在永清等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站建設(shè),永清網(wǎng)站建設(shè)費用合理。
不過這僅僅是對字符串變量而言,如果是字符串常量,如“abc”、”1234”之類寫在代碼中的字符串str,那么允許的最大長度取決于字符串在常量池中的存儲大小,也就是字符串在class格式文件中的存儲格式:
CONSTANT_Utf8_info {
u1 ?tag;
u2 ?length;
u1 ?bytes[length];
}
u2是無符號的16位整數(shù),因此理論上允許的string str的最大長度是2^16-1=65535。然而實際測試表明,允許的最大長度僅為65534,超過就編譯錯誤。
一、sql語句字符串長度太長導(dǎo)致的報錯代碼
代碼A:
String str = "567890123456789...0123456789";//由于字符串長度太長,所以省略一部分,長度是65535;
System.out.println(str.length()); ? //編譯報錯:Error:(14, 22) java: 常量字符串過長。
代碼B:
String str = "67890123456789...0123456789";//由于字符串長度太長,所以省略一部分,長度是65534;
System.out.println(str.length()); ? //編譯通過,運行結(jié)果為:65534。
代碼C:
String str = "67890123456789...0123456789";//由于字符串長度太長,所以省略一部分,長度是65534;
str = "5" + str;
System.out.println(str.length()); ? //編譯通過,運行結(jié)果為:65535。
參考資料
莊周夢蝶.博客[引用時間2018-1-22]
需要配置一下idea的配置文件即可
首先找到idea的安裝目錄,然后找到bin目錄中的idea.properties文件
修改文件中這一行后面的值為9999
idea.max.intellisense.filesize=99991
重啟idea,就好啦
1、java 編譯錯誤,說明你的java代碼源文件存在明顯的語法錯誤。
2、請仔細看你的源代碼,錯誤信息提main方法所在這一行有語法錯誤。
3、你把public 寫成了 publec 了吧,低級錯誤。
4、希望對你有幫助。