如何将String catenation替换为StringBuilder追加?

Nik*_*vin 3 java stringbuilder eclipse-plugin tostring

如何递归地将toString方法中的所有catenations替换为StringBuilder for Java?eclipse中有这样的插件吗?例如:替换它:

    return "AccountAddresses ["
            + ", corporateAddresses=" + CommonHelper.isNotNull(corporateAddresses)
            + ", corporateDeliveryMinimum=" + corporateDeliveryMinimum
            + ", depot=" +  CommonHelper.isNotNull(depot)
            + ", depotDeliveryMinimum=" + depotDeliveryMinimum
            + ", preSelectedId=" + preSelectedId
            + ", residentialAddresses=" +  CommonHelper.isNotNull(residentialAddresses)
            + ", residentialDeliveryMinimum=" + residentialDeliveryMinimum
            + "]";
Run Code Online (Sandbox Code Playgroud)

在这:

    return new StringBuilder("AccountAddresses [")
            .append(", corporateAddresses=").append(CommonHelper.isNotNull(corporateAddresses))
            .append(", corporateDeliveryMinimum=").append(corporateDeliveryMinimum)
            .append(", depot=").append(CommonHelper.isNotNull(depot))
            .append(", depotDeliveryMinimum=").append(depotDeliveryMinimum)
            .append(", preSelectedId=").append(preSelectedId)
            .append(", residentialAddresses=").append(CommonHelper.isNotNull(residentialAddresses))
            .append(", residentialDeliveryMinimum=").append(residentialDeliveryMinimum)
            .append("]").toString();
Run Code Online (Sandbox Code Playgroud)

Spl*_*plo 14

它是Eclipse的内置命令.

  • 单击字符串连接中的一个引号(").
  • 带上Quick Fix菜单(Ctrl + 1按键盘上).
  • 选择Use 'StringBuilder' for String concatenation.

魔法!您的

    return "foo" + "bar";
Run Code Online (Sandbox Code Playgroud)

变成

    StringBuilder stringBuilder = new StringBuilder();
    stringBuilder.append("foo");
    stringBuilder.append("bar");
    return stringBuilder.toString();
Run Code Online (Sandbox Code Playgroud)