java string intern方法 javastringintern有什么用?
javastringintern有什么用?
首先,让我们看一个例子:
public static void main(string[]args)抛出异常{T/tstring a=“B”-T/tstring B=“B”-T/T 系统输出打印(a==b) 字符串c=“d” 字符串d=新字符串(“d”).intern() 系统输出打印你能看到控制台上打印的信息吗?控制台输出true的原因是intern方法返回返回的string对象的规范化表示。调用intern方法时,如果池中已经包含一个与string对象相等的字符串(该对象由equals(object)方法确定),则池中的字符串将被返回。否则,string对象将添加到池中,并返回对string对象的引用。那么C和D相等。
一个字符串类型的值能储存最大容量是多少啊?
呃,你可以看到源代码,还有很多案例。字符串数组的最大长度当然是Integer.MAX但是,Java在常量池中有一个变量utf8表。该表的最大字段为65535,null占用两个字节。因此,当字符串填充字母时,源代码中有一个判断(<65535),即可以放入65534个字母,但如果是汉字,则判断条件是(<65535),即可以放入65535个汉字。当然,以上情况都是在编译时发生的。如果是在运行时,则最大长度为Integer.MAX价值接近4G,基本上是不可能的。最长的字符串场景应该是序列化类,它可以持续数千年。
java string intern方法 idea配置java try catch快捷键
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。