String的最大长度
来源:互联网 发布:梨园有个淘宝城 编辑:程序博客网 时间:2024/05/18 01:30
Java字符串的最大长度
Posted on 2009-01-15 01:37 dennis 阅读(40313) 评论(5) 编辑 收藏 所属分类: java 、源码解读
在cpp中为了可移植性,string的长度是string::size_type,突然就想知道java允许的最大字符串长度为多少。看String的源码:
public final class String
implements java.io.Serializable, Comparable, CharSequence
{
/* The value is used for character storage. /
private final char value[];
/* The offset is the first index of the storage that is used. /
private final int offset;
/** The count is the number of characters in the String. */ private final int count;
String内部是以char数组的形式存储,数组的长度是int类型,那么String允许的最大长度就是Integer.MAX_VALUE了。又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。不过这仅仅是对字符串变量而言,如果是字符串字面量(string literals),如“abc”、”1a2b”之类写在代码中的字符串literals,那么允许的最大长度取决于字符串在常量池中的存储大小,也就是字符串在class格式文件中的存储格式:
CONSTANT_Utf8_info {
u1 tag;
u2 length;
u1 bytes[length];
}
u2是无符号的16位整数,因此理论上允许的string literal的最大长度是2^16-1=65535。然而实际测试表明,允许的最大长度仅为65534,超过就编译错误了,有兴趣可以写段代码试试,估计是length还不能为0。
总结 : String在Java中最大长度为65534
来源:http://www.blogjava.net/killme2008/archive/2009/01/15/251368.html
- String的最大长度
- String取长度最大的值
- C# 中string的最大长度是多少
- C# 中 string 的最大长度
- java中String类型的最大长度
- JAVA中的String类--String的最大长度
- Java中String接受的最大字符串的长度是多少
- 比较List<String>中元素,获取长度最大的元素。
- String 最大长度 及 String Pool
- PING的最大长度
- URL 的最大长度
- Varchar的最大长度
- varchar2 的最大长度
- string 的真实长度
- 获取string的长度
- java中静态String的最大长度由什么决定的?
- Redis中String类型的Value最大可以容纳数据长度
- Redis中String类型的Value最大可以容纳数据长度
- 排序算法之快速排序
- Ubuntu下编译安装R全记录
- 阿杜萨
- js 检测浏览器,呈现引擎和平台
- 修改tomcat小猫图标,设置项目的favicon图标
- String的最大长度
- ubuntu下安装R
- Linux下面为Android Studio创建快捷方式即起动器
- makefile用法用例与注意事项
- Java&Xml教程(二)使用DOM方式解析XML文件
- Extjs中上传文件后返回的json内容是文件下载
- C++ allocator
- Redis 命令参考链接(译文)
- popupwindow全屏幕显示被状态栏挡住如何解决+Android获取状态栏高度