stringbuilder 调用中的 Java 字符串连接

2024-04-02

据我所知,StringBuilder 在连接期间不在字符串池中创建临时字符串实例,从而有助于减少内存使用量。 但是,如果我这样做会发生什么:

StringBuilder sb = new StringBuilder("bu");
sb.append("b"+"u");

是否编译成

sb.append("b");
sb.append("u");

?或者它取决于优化标志?或者我失去了弦乐建造者的全部好处? 或者这个问题没有意义? :)


它编译为sb.append("bu"),因为编译器将多个字符串文字的串联转换为单个字符串文字。

如果你有

String a = "a";
sb.append(a + "b");

它会将其编译为

String a = "a";
String temp = a + "b"; // useless creation of a string here
sb.append(temp);

所以你应该更喜欢

sb.append(a);
sb.append("b");

在这种情况下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stringbuilder 调用中的 Java 字符串连接 的相关文章

随机推荐

  • 错误“[ShareSheet] 连接无效”错误 iOS13+ 但不在 iOS 11.4 上

    我想使用共享表共享一个文件 并且编写的代码似乎工作得很好 但是我不断在日志中看到这些错误消息 使用 Xcode 11 3 ShareSheet connection invalidated 我正在测试两个物理设备 运行 iOS 13 1 2
  • 如何使用命令行删除 Git 上的存储库? [复制]

    这个问题在这里已经有答案了 可能的重复 如何完全删除使用init创建的git存储库 https stackoverflow com questions 1213430 how to fully delete a git repository
  • 为 Spotlight 元数据查询配置 NSPredicateEditor(RowTemplate)I'

    我正在尝试配置一个NSPredicateEditor 在 Interface Builder 中 编辑谓词NSMetadataQuery 作为第一步 我尝试配置一个NSPredicateEditorRowTemplate接受左侧表达式的关键
  • 如何修复 Windows Phone 8 Phonegap 应用程序的方向?

    有谁知道如何修复 Windows Phone 8 Phonegap 应用程序中的方向 我希望该应用程序仅支持纵向 接受的答案不正确 正确答案是 打开 主页 xaml 并将其更改为您想要的方向 minie 是纵向 SupportedOrien
  • 为什么 int[] a = new int[0];允许吗?

    有没有理由 int myArray new int 0 编译 这样的表达有什么用处吗 myArray 0 1 gives java lang ArrayIndexOutOfBoundsException if myArray null Sy
  • 使用 WebtestClient 测试 MultipartFile

    我正在为我的控制器类编写单元测试 我正在使用 spring webflux 因此我正在编写测试WebTestClient 这是我的控制器方法 PutMapping updatedocument documentType public Res
  • iPhone SQLite DB 和基于 Web 的 DB 同步和交互建议

    我正在开发我的第二个 iPhone 应用程序 并且正在寻找有关数据库处理的架构建议 这个想法是 1 信息数据库存储在服务器 LAMP 堆栈 上 信息通过 JSON 传递到设备 该部分已实施 用户可以 收藏 数据库中的某个项目 该项目将其存储
  • 使用Intent打开系统应用程序

    我正在尝试制作一个简单的应用程序 当用户从主屏幕或应用程序抽屉单击时 该应用程序会将用户发送到特定的 系统安装的 应用程序 系统设置 日历 浏览器等 例如 我目前尝试在启动应用程序时打开系统设置 就像设置快捷方式一样 可以按照我想要的方式实
  • RStudio 中的永久代码折叠

    我试图确保在保存文件时 在 RStudio 中崩溃的代码 通过 Alt L 在 Shiny 中保持在原位 目前 每次我保存文件时 折叠都会消失 有谁知道如何使折叠永久且独立于保存文件 供参考 我在 Windows 上使用 RStudio 0
  • 使用cmd获取当前用户路径变量而不使用系统路径

    当我使用标准用户 也是管理员 登录时 命令echo PATH 返回系统路径 用户路径 如何只获取用户的路径 例如 当我当前用户的路径是C ruby C java bin系统路径是 SystemRoot system32 SystemRoot
  • 如何使文本浮动在列表项空间的底部?

    如何使文本浮动在列表项空间的底部 我试图使 li 中的所有文本都位于 li 高度的底部 有没有更好的方法来实现这种外观 以及如何超链接 h1 标题 margin 0 padding 0 nav width 100 height 110px
  • 如何在 Internet Explorer 中使用 html 子元素获取 contenteditable div 中的插入符位置

    我正在使用一个 contenteditable div 它可以选择包含内联 html 元素 例如标签 在文本流中 在某些时候 我需要抓取 contenteditable div 的插入符位置 光标位置 插入符 光标 位于 html 子元素之
  • Angular - 错误:spawn cmd ENOENT

    您好 当我生成角度时遇到问题 哟角度 我都完成了 运行 Bower install 和 npm install 来安装所需的依赖项 如果失败 请尝试自己运行该命令 调用角度 路线 调用 Angular Controller C Users
  • 在每个时间间隔更改文本 - React

    我试图在反应的每个时间间隔更改文本 屏幕出现时自动开始 但问题是 给定的时间不被尊重 并且文本以随机时间间隔更改 这是我的代码的一部分 const names tony elias fadi const newName setnewName
  • 在 php 中将 emoji 字符转换为 Unicode 代码点数字

    我正在尝试使用 php 将表情符号转换为 unicode 更多信息 https unicode org emoji charts full emoji list html https unicode org emoji charts ful
  • symfony 2 twig 访问数组 javascript 索引

    是否可以从中获取对象twig数组知道索引是ajavascript多变的 我的控制器 public function showContactModalAction iduser profil em this gt getDoctrine gt
  • 如何在 Electron BrowserWindow 中查看 PDF?

    所以我有这个 Electron 应用程序 在一个 html 文件中 我链接了另一个脚本 该脚本为程序提供了一些实用功能 其中之一是 function openPDF filePath let pdfWindow new electron r
  • Logstash 的 Java 过滤器

    你知道 Logstash 有一个 Ruby 过滤器 它使我能够用 Ruby 编写代码 它通常包含在配置文件中 如下所示 filter ruby code gt 现在我有两个 Jar 文件 我想将它们包含在过滤器中 以便可以根据我在这些 Ja
  • c++0x 中用户定义文字的重载规则

    我对超载规则有点困惑 假设有以下文字运算符 unsigned long long operator xx unsigned long long cooked literal int 1 unsigned long long operator
  • stringbuilder 调用中的 Java 字符串连接

    据我所知 StringBuilder 在连接期间不在字符串池中创建临时字符串实例 从而有助于减少内存使用量 但是 如果我这样做会发生什么 StringBuilder sb new StringBuilder bu sb append b u