我想重载StringUtils
的chop方法,如果它是反斜杠(\)
,则删除最后一个字符。
是否可能使功能过载或我需要使用if条件?
答案 0 :(得分:4)
为什么不这样呢?
StringUtils.removeEnd(s,"\\")
答案 1 :(得分:3)
是的,请使用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));
}
这样的事情。然后你可以将它用于任何角色。根据需要调整它。