示例代码:
public static String sameEnds(String string, int n) { return IntStream.rangeClosed(1, n) .filter(i -> string.length() >= 2 * i) .mapToObj(i -> string.substring(0, i) + string.substring(string.length() - i)) .filter(s -> s.substring(0, n).equals(s.substring(s.length() - n))) .max(Comparator.comparingInt(String::length)) .orElse(""); }