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,"\")
我想重载 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,"\")