java - stringBuillder append(CONST) 和 append("new string") 的区别
问题描述
我可以用下面的两个语句得到一些关于内存和运行时开销的具体解释吗?
String CONST = "字符串常量"; StringBuilder sb1 = new StringBuilder();
sb1.append(CONST);StringBuilder sb2 = new StringBuilder();
sb2.append("字符串常量");
第二次创建字符串对象并添加到字符串池中吗?是否有任何情况(也考虑许多字符串附加)我们可以证明一个比另一个更好?
解决方案
这两个版本之间的内存或运行时开销没有区别。
使用看起来更具可读性或可维护性的任何一个。如果您在许多地方重用相同的字符串常量,该常量很长,或者可能会改变,那么提取一个常量可能是合适的。
推荐阅读
- php - 如何在 php 中将 mysqli 代码转换为 Oracle 代码?
- twilio - 按日期范围检索 Twilio 消息?
- javascript - 如何在页面呈现之前加载字体?
- ruby-on-rails - Rails 5使用参数从url地址查询
- angular - 如何使用 django rest 框架和 angular 上传图片?
- spring - 带有两个罐子的 docker 中的 Spring Boot
- rest - 是否必须将 RestTemplate 用于宁静的 Web 服务?或者在给@PostMapping 提供响应实体时可以忽略它?
- ios - 从设置打开应用程序时如何检测授权状态是否更改
- windows - 加载DLL文件时,是否也调用了DLL文件的入口点?
- regex - 从字段中提取值