public boolean contains(CharSequence s) {
return indexOf(s.toString()) > -1;
}
这是String类中的预定义方法,但我不理解传递参数CharSequence s
和indexOf(s.toString()) > -1
。
有人会清楚地解释我,因为我是java新手,主要是什么 indexOf方法将在返回类型中执行。
答案 0 :(得分:1)
indexOf()
将返回subString的索引(如果它在调用的字符串中存在或-1
。
在这种情况下,它将通过>
与-1进行比较,从而生成true
或false
,然后返回。
答案 1 :(得分:1)
CharSequence
是一个接口,因此String#contains
可以接受实现该接口的任何内容。其中一个实现它的类是String
,但也有其他类。
CharSequence
定义了一种方法toString
,可将字符序列转换为String
。
String
定义indexOf
method接受String
子字符串,并通过返回字符串中出现的索引来告诉您字符串是否在字符串中。如果子字符串不在字符串中,则返回-1。
因此indexOf(s.toString()) > -1
会告诉您字符串是否包含CharSequence
s
定义的子字符串。
答案 2 :(得分:0)
实际上,该方法的名称说明了一切:
当boolean z = x.contains(y);
为了更好的解释:请点击此处 http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#contains-java.lang.CharSequence-
答案 3 :(得分:0)
indexOf 方法返回目标字符串的第一个出现位置。 如果找不到匹配字符串,则返回-1。 因此,如果 indexOf 方法返回-1,则表示找不到任何匹配项。这导致了错误的结果。