怎么解决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]
java中代码的长度会不会影响执行的效率?
应该是不会的。程序编译应该是你调用了哪部分代码才去编译哪部分代码。跟你所有的代码长度没有太大的影响
如何编译java程序
三种方法:
1.在IDE中,如eclipse中写的Java程序,在点击保存后eclipse就会调用javac编译程序编译,编译文件在当前项目的bin目录下。
2.作为一个独立的文件且没有定义Java环境变量,需要在cmd窗口中切换到java bin目录下执行Javac程序,执行格式为 javac 空格 Java源文件;如 javac C://hello.java;
3.作为一个独立的文件且定义了Java环境变量,打开cmd窗口,可以在任意目录输入javac java源文件,如javac D://hi.java。
扩展资料
Java也是一种高级语言,要让计算机执行你撰写的Java程序,也得通过编译程序的编译。但是Java编译程序并不直接将Java源代码编译为相依于计算机平台的0、1序列,而是将其编译为字节码。
Java源代码的扩展名为.java,经过编译程序编译之后生成扩展名为.class的字节码。
idea java代码过长怎么解决
需要配置一下idea的配置文件即可
首先找到idea的安装目录,然后找到bin目录中的idea.properties文件
修改文件中这一行后面的值为9999
idea.max.intellisense.filesize=99991
重启idea,就好啦
网页名称:代码过长java编译 java一行代码太长
链接地址:http://scgulin.cn/article/dodcicp.html