public static void main(String[] args) {
String a;
a="阿斯弗所发生的";
System.out.println(StringUtils.containsAny(a,"阿所"));
}
//结果: true 预期 false
// 看源码
public static boolean containsAny(CharSequence cs, CharSequence searchChars) {
return searchChars == null ? false : containsAny(cs, CharSequenceUtils.toCharArray(searchChars));
}
// 循环比较字符
public static boolean containsAny(CharSequence cs, char... searchChars) {
if (!isEmpty(cs) && !ArrayUtils.isEmpty(searchChars)) {
int csLength = cs.length();
int searchLength = searchChars.length;
int csLast = csLength - 1;
int searchLast = searchLength - 1;
for(int i = 0; i < csLength; ++i) {
char ch = cs.charAt(i);
for(int j = 0; j < searchLength; ++j) {
if (searchChars[j] == ch) {
if (!Character.isHighSurrogate(ch)) {
return true;
}
if (j == searchLast) {
return true;
}
if (i < csLast && searchChars[j + 1] == cs.charAt(i + 1)) {
return true;
}
}
}
}
return false;
} else {
return false;
}
}
StringUtils.containsAny(“123“,“13“) --> true 踩过的坑
最新推荐文章于 2024-08-05 16:15:30 发布