StringUtils 重载 chop 方法

StringUtils Overload chop method

我想重载 StringUtils 的 chop 方法以删除最后一个字符(如果它是反斜杠)(\)

是否可以重载函数或者我需要使用 if 条件?

是的,使用 if 语句。您不能覆盖静态方法,无论如何创建它自己的 class 就太过分了。

我有一个我个人喜欢的选择:

public static String chopIf(Predicate<String> p, String s) {
    if (p.test(s)) {
        return s.substring(0, s.length()-1); //or StringUtils.chop(s)
    }
    return s;
}

public static void main(String[] args) {
    String test = "qwert\";
    System.out.println(chopIf(s -> s.endsWith("\"), test));
}

类似的东西。然后你可以将它用于任何角色。根据需要调整它。

为什么不用这个?

StringUtils.removeEnd(s,"\")