String內(nèi)部是以char數(shù)組的形式存儲,數(shù)組的長度是int類型,那么String允許的最大長度就是Integer.MAX_VALUE = 2^31 - 1 = 2147483647。又由于java中的字符是以16位存儲的,因此大概需要4GB的內(nèi)存才能存儲最大長度的字符串。
合江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,合江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為合江上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的合江做網(wǎng)站的公司定做!
不過這僅僅是對字符串變量而言,如果是字符串常量,如“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]
應(yīng)該是不會的。程序編譯應(yīng)該是你調(diào)用了哪部分代碼才去編譯哪部分代碼。跟你所有的代碼長度沒有太大的影響
三種方法:
1.在IDE中,如eclipse中寫的Java程序,在點擊保存后eclipse就會調(diào)用javac編譯程序編譯,編譯文件在當(dāng)前項目的bin目錄下。
2.作為一個獨立的文件且沒有定義Java環(huán)境變量,需要在cmd窗口中切換到j(luò)ava bin目錄下執(zhí)行Javac程序,執(zhí)行格式為?????javac 空格 Java源文件;如 javac? C://hello.java;
3.作為一個獨立的文件且定義了Java環(huán)境變量,打開cmd窗口,可以在任意目錄輸入javac java源文件,如javac D://hi.java。
擴展資料
Java也是一種高級語言,要讓計算機執(zhí)行你撰寫的Java程序,也得通過編譯程序的編譯。但是Java編譯程序并不直接將Java源代碼編譯為相依于計算機平臺的0、1序列,而是將其編譯為字節(jié)碼。
Java源代碼的擴展名為.java,經(jīng)過編譯程序編譯之后生成擴展名為.class的字節(jié)碼。
需要配置一下idea的配置文件即可
首先找到idea的安裝目錄,然后找到bin目錄中的idea.properties文件
修改文件中這一行后面的值為9999
idea.max.intellisense.filesize=99991
重啟idea,就好啦
本文題目:代碼過長java編譯 java一行代碼太長
文章位置:http://chinadenli.net/article28/dodcicp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、關(guān)鍵詞優(yōu)化、網(wǎng)站維護、網(wǎng)站營銷、做網(wǎng)站、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)