>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 28537 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->面向对象开发方法概述之UML语言(下)
  JavaWeb开发-->Servlet技术详解(Ⅱ)
  JSP与Hibernate开发-->域对象在持久化层的四种状态
  Java网络编程-->用Spring整合CXF发布Web服务
  精通Spring-->创建综合购物网站应用
  Vue3开发-->虚拟DOM和render()函数
  《漫画Java编程》勘误及建议
  [求助] 如何观看孙老师的课程视频
  为网站代码块pre标签增加一个复制代码按钮代码
  java的三种随机数生成方式
   JAVA进阶之IO模型深入解析
  十分钟带你搞懂 Java AQS 核心设计与实现!
  Eclipse使用指南:工作空间(Workspace)
  正则表达式:运算符优先级
  Java虚拟机(JVM)的内存结构
  Java入门实用代码:线程状态监测
  Java入门实用代码:数组元素的反转
  JAVA设计模式之备忘录模式原理与用法详解
  Java线程实现龟兔赛跑
  JDBC使用8.0驱动包连接mysql设置时区serverTimezone
  Java Pattern和Matcher字符匹配详解
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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