Intellij Idea和/或Eclipse中的方法重构



我有很多类(至少45)。每个类都有自己的方法来验证在所有类中重复的东西,所以我在所有这些类中都重复了代码。我希望有一个方法,并从所有的类调用它。

如果有以下代码知道移动设备是否连接到服务器

private boolean isMobileDevice(HttpServletRequest request) {
    String userAgent = request.getHeader("user-agent");
    return userAgent.indexOf("Windows CE") != -1;
}

如前所述,此方法在许多类中重复使用

是否有可能在Intellij Idea和/或Eclipse中进行重构?我该如何执行重构?

private boolean isMobileDevice(HttpServletRequest request) {
        String userAgent = request.getHeader("user-agent");
        return userAgent.indexOf("Windows CE") != -1;
}

我打赌,Eclipse将警告我说,这个方法可以作为static宣布,因为它不使用任何领域的封闭类——这种方法应该声明为静态的,让你知道这不是本质上需要封闭的类,如果有理由(45方法的一个原因)可以将它转移到其他类,并把它作为公共或包方法。

编辑:它做了:The method isMobileDevice(HttpServletRequest) from the type Test can be declared as static:

:

将其复制到其他类中,使其为public static boolean isMobileDevice(HttpServletRequest request),并在private boolean所在的每个类中使用。

就是这些,但是我没有看到自动重构的方法。

使用Intellij,您可以尝试"Refactor" > "Find and Replace Code Duplicates..."。它将用一个静态函数替换重复的代码。

最新更新