StringUtils
如果它是反斜杠,我想重载 Chop 方法以删除最后一个字符(\)
。
是否可以重载函数或者我需要使用 if 条件?
为什么不这样做呢?
StringUtils.removeEnd(s,"\\")
是的,使用if
声明。您不能覆盖静态方法,而且为此创建它自己的类也太过分了。
我有一个我个人喜欢的替代方案:
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));
}
类似的东西。然后你可以将它用于任何角色。根据需要调整它。