System.out.println(StringUtils.containsAny(“ahbatctdp”, “http”));
这一句,输出true。
底层:
publicstaticbooleancontainsAny(finalCharSequence cs,finalCharSequence searchChars){if(searchChars==null){returnfalse;}returncontainsAny(cs,CharSequenceUtils.toCharArray(searchChars));}可以看到,将http转成了数组去传参,那么
StringUtils.containsAny(“ahbatctdp”, “http”)等价于StringUtils.containsAny(“ahbatctdp”, “h”,“t”,“t”,“p”)了。
解决办法:
要么用containsAny时,指定多个搜索串。
要么用contains