java - 如何修改netbeans中的toString()方法(java)

标签 java netbeans

我想在使用 alt+ins 生成 toString() 方法时更改其模板,但我不知道如何。

看,当我使用 alt+ins 生成方法时,IDE 会将其提供给我:

@Override
public String toString() {
    return "name=" + name + " id=" + id;
}

我想将自动生成更改为如下所示:

@Override
public String toString() {
    return "\n name=" + name + "\n id=" + id;
}

最佳答案

简短回答:没有简单的方法来自定义 toString() NetBeans 中的方法来执行您想要的操作。

长答案:

1正如您所指出的,使用 Alt+Ins 将生成 toString() 像这样的方法:

@Override
public String toString() {
    return "JavaApplication4{" + "name=" + name + ", id=" + id + '}';
}

这很接近您想要的,但不幸的是,除了允许您指定要包含/排除哪些变量之外,NetBeans 无法提供自定义生成代码的方法。

2您还可以使用 Ctl+Space 生成不同的 toString() 方法:

@Override
public String toString() {
    return super.toString(); //To change body of generated methods, choose Tools | Templates.
}

正如生成代码的注释中所述,您可以自定义它,但它并不能真正帮助您,原因有两个:

  • 无法在模板中指定变量的名称。
  • 即使您可以做到这一点,相同的模板代码也会被其他生成的方法使用,例如 hashCode() equals() ,这可不好。

[3] 另一种可能的方法是使用 Alt+Ins 生成代码,然后使用正则表达式修改生成的代码:

  • 找到包含 public String toString() 的行
  • 在下面的行中插入 \n 紧接在 + " 的每个实例之后。 (即空格加空格双引号)。

取决于您创建的频率 toString() 方法,该方法可能比容易出错的每个生成的手动编辑 <b>toString()</b> 更好。方法。

[4] 一个重要的方法是编写您自己的 Code Generator当您按 Alt+Ins 时,在弹出菜单上添加条目。然而,仅仅定制 toString() 的输出似乎需要付出很大的努力。 .

[5] 另一种方法是 raise a bug report with NetBeans for an improvement to the existing functionality ,通过在生成 toString() 时添加一个选项以在每个变量之前包含换行符方法。 虽然这是理想的解决方案,而且实现起来可能很简单,但它在他们的优先级列表中可能不会很高。

关于java - 如何修改netbeans中的toString()方法(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50010729/

相关文章:

java - Spring Security 3.1.3 @Autowired 在使用 WebApplicationInitializer 时不起作用

java - 异常:缺少manifest.properties

java - 服务小程序不工作

java - Manjaro Linux 上 netbeans 9.0 的问题

java - Spring应用程序启动时如何使缓存依赖于其他缓存

java - 独立的前端应用程序 - 构建和部署策略

java - 如何在 Java 1.4 中将值结果集插入到 hashmap 中而不进行迭代?

NetBeans,黑色背景主题

javascript - Apache NetBeans 11.1 JavaScript 突出显示不起作用

tomcat - 在 NetBeans'(8.0) tomcat 中运行 Gradle webapp?