如何在IntelliJ中快速将字符串拼接重构为StringBuilder?
在IntelliJ中快速将字符串拼接重构为StringBuilder的方法
嘿,刚好我对IntelliJ的这类重构操作熟得很,给你说最快的两种方式,完美对应你想要的两种形式:
对应形式一:创建临时StringBuilder变量后赋值
操作步骤超简单,几步搞定:
- 选中整行的字符串拼接代码:
this.path = DESTINY + deploy.name() + FILE_SEPARATOR + delivery.getSystem().getCode() + FILE_SEPARATOR + delivery.getName() + FILE_SEPARATOR + delivery.getEnviroment().getName(); - 按下快捷键:Windows/Linux用
Alt+Enter,Mac用Option+Enter,弹出上下文操作菜单 - 在菜单里找到 "Replace with StringBuilder" 选项并选中,IntelliJ会自动帮你转换成形式一的代码:创建临时
StringBuilder变量,逐个append所有拼接项,最后将toString()结果赋值给this.path
对应形式二:直接使用this.path作为StringBuilder进行append
如果想直接把this.path作为StringBuilder来操作,步骤如下:
- 先确保
this.path的类型是StringBuilder(如果原来定义的是String,先修改类型,或者初始化时写成this.path = new StringBuilder();) - 选中原来等号右侧的整个拼接表达式(也就是
DESTINY + deploy.name() + ... + delivery.getEnviroment().getName()这部分) - 同样按下
Alt+Enter/Option+Enter,在弹出的菜单里选择 "Replace with 'this.path.append()' calls"(IntelliJ会自动识别目标是已有的StringBuilder变量) - 瞬间就能得到你想要的逐个append到
this.path的代码形式
另外提个小技巧:如果快捷键没唤起菜单,也可以右键点击选中的代码,在菜单里找「Show Context Actions」来调出这些重构选项,效果是一样的~
内容的提问来源于stack exchange,提问作者Bruno Rozendo
相关产品推荐
相关产品推荐

