开发者社区 问答 正文

为什么在JAVA程序性能优化中新建字符串应采用直接赋值代替new操作?

已解决

为什么在JAVA程序性能优化中新建字符串应采用直接赋值代替new操作?

展开
收起
1780169608831412 2021-10-29 13:44:14 632 分享 版权
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好,由于存在字符串常量池,使用赋值语句赋值时,如果常量池中存在字符,会直接复用。从图中例子我们可以看到 image.png

    s1 s2引用常量池同一地址,所以返回true 由于s3是new的方式创建的,所以未复用常量池的常量,所以不等于s1和s2 image.png

    2021-10-29 13:51:04
    赞同 2 展开评论