我有一个从字符串中删除部分字符的方法。使用Java 8,有没有更好的方法来实现这个操作?
public String filter(String test) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < test.length(); i++) {
if (MYCOLLECTION.contains(test.charAt(i))) {
builder .append(test.charAt(i));
}
}
return builder .toString();
}
Cannot infer type argument(s) for <U> mapToObj(IntFunction<? extends U>)
错误。Java 8. - EranCharacter.toString(int)
已经在 Java 11 中添加。 - Holgerfiltered = inputString.replaceAll( filter.stream().map(Object::toString).collect(Collectors.joining("", "[^", "]")),"")
吗?它只适用于字符没有特殊含义的情况(否则需要额外的努力)。除非过滤字符是常量,否则没有什么能比简单的循环解决方案更好了... - Holger