Java 重构以对每个getter应用方法

Java 重构以对每个getter应用方法,java,eclipse,refactoring,Java,Eclipse,Refactoring,我有一个类,它描述了一些对象。它包含许多参数,因此包含许多getter和setter。我想知道是否有重构工具可以让我为班上的每个getter应用一个方法。 例如 方法 private String zerochecker(String var) { String bufvar = ""; if (var == null || var.trim().length() <= 0 || var.equalsIgnoreCase("

我有一个类,它描述了一些对象。它包含许多参数,因此包含许多getter和setter。我想知道是否有重构工具可以让我为班上的每个getter应用一个方法。
例如

方法

private String zerochecker(String var) {
        String bufvar = "";

        if (var == null || var.trim().length() <= 0
                || var.equalsIgnoreCase("null")
                || var.trim().equalsIgnoreCase("null")) {
        } else {
            bufvar = var;
        }
        return bufvar;
    }

据我所知,没有这样的工具。你可能需要用手来做。你可以使用,但值得吗?据我所知,没有这样的工具。你可能需要用手来做。您可以使用它,但它值得吗?

不,没有这样的重构工具,因为这不是重构。重构(例如Eclipse重构菜单中提供的重构)不会改变行为,只会改变现有代码的结构。

不,不能有用于此类重构的工具,因为这不是重构。重构(例如在Eclipse重构菜单中可用)不会改变行为,只会改变现有代码的结构。

这看起来很简单:

  • 让eclipse生成getter
  • 使用搜索并替换为正则表达式:“return(.*);”by“return zerochecker(\1);”

  • 您可能需要修复表达式的语法。

    这看起来很简单:

  • 让eclipse生成getter
  • 使用搜索并替换为正则表达式:“return(.*);”by“return zerochecker(\1);”

  • 您可能需要修复表达式的语法。

    我发现唯一可行的方法是更改自动生成getter的模板。解决方案模糊不清,但可以使用。

    我发现唯一可行的方法是更改自动生成getter的模板。解决方案是模糊的,但可以使用。

    脱离主题:您可以跳过var.equalsIgnoreCase(“null”)检查,因为var.trim()等。check也会捕捉到这种情况。离题:var.trim().length()<0永远不会发生,您可以直接测试var.trim().length()==0。顺便问一下,如果您的条件为真,为什么不直接将bufvar赋值给var并设置bufvar=“”,这样,如果条件为true,您就可以删除else而不是什么都不做。离题:您可以跳过var.equalsIgnoreCase(“null”)检查,因为var.trim()等。check也会捕捉到这种情况。离题:var.trim().length()<0永远不会发生,您可以直接测试var.trim().length()==0。顺便说一下,如果条件为真,为什么不直接将bufvar赋值给var并设置bufvar=“”,这样,如果条件为真,您就可以删除else而不是什么都不做。
    private String zerochecker(String var) {
            String bufvar = "";
    
            if (var == null || var.trim().length() <= 0
                    || var.equalsIgnoreCase("null")
                    || var.trim().equalsIgnoreCase("null")) {
            } else {
                bufvar = var;
            }
            return bufvar;
        }
    
    public String getStatus() {
            return zerochecker(status);
        }