String的长度有限制吗?

关于string的面试题有很多,比如:String类型的存储位置?可变不可变?为什么要使用String类型?默认实现Object的方法?

其中个人觉得最重要的一个基本功是String的长度问题。问:String的有长度限制吗?这个问题即问到了源码又问到了jvm,你知道吗?

String的长度有限制吗?

首先众所周知的是String底层使用数组实现,那么它的长度应该是整型。整型的最大长度是2^31-1,那么按照最大2^31-1进行换算,应该是2^31-1 =2147483647 =4GB。


String的长度有限制吗?


String的长度有限制吗?

但是实际我们在开发的时候你会发现,承载不了它的长度你的编译器就会报错。不是说好是21亿吗?为什么不到就报错了?

那是因为java虚拟机手册对String类型进行了定义。根据java虚拟机所定义的规范,发现最后String类型最大长度是65535,那么这个长度是哪里来的呢?

大家可以自己查下手册!

展开阅读全文

页面更新:2024-06-21

标签:长度   编译器   数组   基本功   众所周知   底层   源码   虚拟机   整型   定义   位置   类型   手册   发现   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top