"Лучше", чем метри c? Вот как я мог бы написать это
final String filtered = test.chars()
.mapToObj(chr -> (char) chr) // IntStream -> Stream<Character>
.filter(MYCOLLECTION::contains)
.collect(
Collector.of(StringBuilder::new, StringBuilder::append, StringBuilder::append, StringBuilder::toString)
);
Сборщик немного уродлив, я бы, вероятно, извлек его в свой собственный метод
private static Collector<Character, StringBuilder, String> characterCollector()
{
return Collector.of(
StringBuilder::new,
StringBuilder::append,
StringBuilder::append,
StringBuilder::toString
);
}
Затем вызвал бы это вместо
.collect(characterCollector())