参考# 从两个字符串中找出最大公共子字符串,更新了有多个最大公共子字符串的情况
//https://www.cnblogs.com/lijiaman/p/5903722.html
public static void commonString(String str_1, String str_2) {
String comString = ""; // 用于存放公共字符串
String childString = ""; // 存放拆分得到的子字符串
String minString = str_1.length() < str_2.length() ? str_1 : str_2; // 选取短的字符串做拆分
// System.out.println(minString);
List<String> stringList = new ArrayList<>();
int maxLength = 0;
for (int i = 1; i <= minString.length(); i++) {
for (int j = 0; j < minString.length(); j++) {
if (j + i <= minString.length()) {
childString = minString.substring(j, j + i);
if (str_2.indexOf(childString) != -1) { // 如果不等于-1,则表示在str_2里面找到childString
System.out.println(str_2+" "+childString+" "+str_2.indexOf(childString));
comString = childString;
if (comString.length() > maxLength) {
maxLength = comString.length();
stringList.clear();
stringList.add(childString);
} else if (comString.length() == maxLength) {
stringList.add(childString);
}
}
}
}
}
for(String a:stringList){
System.out.println(a);
}
}