首页 > 解决方案 > Java String.contains 与 String.contentEquals

问题描述

这两种方法的真正区别是什么?两者具有相同的签名,true如果字符串包含CharSequence给定的参数,false则返回,否则返回。

方法:

boolean contains(CharSequence string)

boolean contentEquals(CharSequence string)

标签: java

解决方案


contentEquals()参数必须完全等于字符串;相反,contains()参数在字符串内部就足够了,字符串也可以包含其他字符。

String foo = "foo";
StringBuffer str = new StringBuffer("foofoo");
StringBuffer str2 = new StringBuffer("foo");
foo.contains(str); // false
str.contains(foo); // true
foo.contentEquals(str) // false
foo.contentEquals(str2) // true

推荐阅读