string - 使用 intelliJ 将字符串串联重构为 StringBuilder

标签 string intellij-idea refactoring stringbuilder

我被指定对一个项目进行重构,我遇到了这种情况

 this.path = DESTINY + deploy.name() + FILE_SEPARATOR + delivery.getSystem().getCode()
      + FILE_SEPARATOR + delivery.getName() + FILE_SEPARATOR + delivery.getEnviroment().getName();

我想将其重构为如下所示:

StringBuilder tmpPath = new StringBuilder();
tmpPath.append(DESTINY);
tmpPath.append(deploy.name());
tmpPath.append(FILE_SEPARATOR);
tmpPath.append(delivery.getSystem().getCode());
tmpPath.append(FILE_SEPARATOR);
tmpPath.append(delivery.getName());
tmpPath.append(FILE_SEPARATOR);
tmpPath.append(delivery.getEnviroment().getName());
this.path = tmpPath.toString();

或者

StringBuilder path = new StringBuilder();

...

this.path.append(DESTINY);
this.path.append(deploy.name());
this.path.append(FILE_SEPARATOR);
this.path.append(delivery.getSystem().getCode());
this.path.append(FILE_SEPARATOR);
this.path.append(delivery.getName());
this.path.append(FILE_SEPARATOR);
this.path.append(delivery.getEnviroment().getName());

最快的方法是什么?

最佳答案

当光标位于原始代码上时,只需按 Alt + Enter 即可:

enter image description here

然后您可以选择您最喜欢的变体,例如将其替换为字符串生成器。 IDEA 将为您完成所有工作。

enter image description here

关于string - 使用 intelliJ 将字符串串联重构为 StringBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48543138/

相关文章:

groovy - IntelliJ 将 Griffon 中的工作代码突出显示为错误

javascript - 管理代码中大量硬编码数据的最佳方法?

PHP - 在字符串中打印命名空间常量?

coding-style - 如何在 Intellij Idea 中指定步骤定义原型(prototype)名称?

java - Jack Shirazi DoubleToString java优化问题

java - 该模块尚未编译

ruby - 重构前置条件和后置条件

java - 简化代码以加载 XML 文件的建议?

c - C中将字符串赋值给字符指针的解释

c - 为什么我的指针数组返回一个 unicode 字符?