
正文
java报代码过长 java代码臃肿
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么解决java常量字符串过长?
String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE = 2^31 - 1 = 2147483647。又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。
不过这仅仅是对字符串变量而言,如果是字符串常量,如“abc”、”1234”之类写在代码中的字符串str,那么允许的最大长度取决于字符串在常量池中的存储大小,也就是字符串在class格式文件中的存储格式:
CONSTANT_Utf8_info {
u1 tag;
u2 length;
u1 bytes[length];
}
u2是无符号的16位整数,因此理论上允许的string str的最大长度是2^16-1=65535。然而实际测试表明,允许的最大长度仅为65534,超过就编译错误。
一、sql语句字符串长度太长导致的报错代码
代码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()); //编译通过,运行结果为:65534。
代码C:
String str = "67890123456789...0123456789";//由于字符串长度太长,所以省略一部分,长度是65534;
str = "5" + str;
System.out.println(str.length()); //编译通过,运行结果为:65535。
参考资料
庄周梦蝶.博客[引用时间2018-1-22]
相关问答
Q1: idea java代码过长怎么解决
需要配置一下ideajava报代码过长的配置文件即可
首先找到idea的安装目录java报代码过长,然后找到bin目录中的idea.properties文件
修改文件中这一行后面的值为9999
idea.max.intellisense.filesize=99991
重启idea,就好啦
Q2: java一行太长怎么办
拆分。java一行太长把变量或类型名之类拆分。Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
关于java报代码过长和java代码臃肿的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






