>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 28536 个阅读者 刷新本主题
 * 贴子主题:  Java的String类型字符串是否有长度限制? 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2019-12-21 17:05:49     消息  查看  搜索  好友  邮件  复制  引用

严格来说,String确实有长度限制。
String内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考String的构造方法String(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。
Java的数组大小还有没有别的限制?事实上数组大小不能超过Java堆的大小,而Java堆的最大尺寸可以通过启动参数指定,如果Java堆开得足够大,数组的最大长度是可以不断增大的。
所以,理论上,字符串不能超过2G个字符,少于2G个字符都有可能。
但编码时有需要注意的地方,采用明文的方式,如果超过65534个字节,可能报编译错误,可参考下列网站(有一处错误,整型考虑到符号位,最大只到2G)。


程序猿的技术大观园:www.javathinker.net

[这个贴子最后由 admin 在 2019-12-23 15:48:43 重新编辑]
  Java面向对象编程-->变量的作用域和初始化
  JavaWeb开发-->使用Session(Ⅱ)
  JSP与Hibernate开发-->第一个helloapp应用
  Java网络编程-->基于MVC和RMI的分布式应用
  精通Spring-->Vue组件开发高级技术
  Vue3开发-->通过Vuex进行状态管理
  《漫画Java编程》勘误及建议
  实用类 EncodingDetect,查看一个文件的字符编码
  详细介绍float和double类型的区别
  序列化与反序列化知识点汇总
  Java Proxy用法: 让我们创建一个API代理器
  Java设计模式:接口隔离原则和迪米特法则详解
  Java中保留数字的若干位小数位数的方法
  观察者模式和发布订阅模式的区别
  购书咨询
  请求大佬们的帮助
  Java设计模式:抽象工厂模式
  java常见的几种调用机制:同步调用,异步调用,回调
  Java入门实用代码:线程状态监测
  Java入门实用代码:集合转数组
  Java入门实用代码:链表元素查找
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。