栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用java.lang.String.intern()是一种好习惯吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用java.lang.String.intern()是一种好习惯吗?

我何时会使用此函数来支持String.equals()

当你需要速度时,因为可以按引用比较字符串(==比等于快)

是否有Javadoc中未提及的副作用?

主要的缺点是你必须记住要确保实际上要对要比较的所有字符串进行intern()。忘记intern()所有字符串很容易,然后你会得到令人困惑的不正确结果。另外,为了大家的缘故,请确保非常清楚地记录你所依赖的字符串是内部化的。

如果决定内部化字符串的第二个缺点是intern()方法相对昂贵。它必须管理唯一字符串池,因此它需要做很多工作(即使字符串已经被内部化了)。因此,在代码设计中要格外小心,例如,在输入时使用intern()例如所有合适的字符串,这样就不必再担心它了。

(来自JGuru)

第三个缺点(仅限Java 7或更低版​​本):实习字符串生活在PermGen空间中,通常很小。你可能会遇到带有大量可用堆空间的OutOfMemoryError。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号