如何用StringUtils.equals替换所有String.equals

我想自动替换所有出现的

if(variable!=null && variable.equals(value)) ... 

通过

 if(StringUtils.equals(variable, value)) ... 

以类型感知的方式。 这意味着,该variablevalue应该确保String (不仅仅是字典处理,例如使用awk / perl)。

此外,它应该足够灵活,可以将value应用为文字以及常量( final static )或其他变量或参数 – 在此上下文中肯定是String任何内容。 此外,可能还有更多的布尔表达式。

我怀疑Java Std API在这里可能会有所帮助,但代码转换本身并不是由该​​API处理,只是访问代码。

如果您使用netbeans,则可以使用自定义重构:

菜单重构/检查和转换/浏览/新建/编辑脚本:

  $var!=null && $var.equals($val) :: $var instanceof java.lang.String => StringUtils.equals($var, $val) ;; 

IntelliJ IDEA的结构搜索和替换function可以进行此类转换。 有关更多信息,请参阅Web帮助 。

我使用了称为Java解析器的JAPA 。 这是我用过的最好的代码更改工具。 从读取if循环中的单行直到将其保存回相同的源,它具有一切。 值得尝试。