Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有人能解释一下contains()方法在String类中是如何工作的吗?_Java - Fatal编程技术网

Java 有人能解释一下contains()方法在String类中是如何工作的吗?

Java 有人能解释一下contains()方法在String类中是如何工作的吗?,java,Java,这是String类中的预定义方法,但我不理解传递参数CharSequence s和indexOf(s.toString())>-1 谁能给我解释清楚,因为我是java新手,主要是什么 indexOf方法将在返回类型中执行。indexOf()将返回子字符串的索引(如果它存在于调用它的字符串中)或-1 在这种情况下,将通过将其与-1进行比较,从而得到true或false,然后返回该值。实际上,该方法的名称说明了这一切: 当boolean z=x.contains(y)时,字符串x是否包含字符串y 为

这是String类中的预定义方法,但我不理解传递参数
CharSequence s
indexOf(s.toString())>-1

谁能给我解释清楚,因为我是java新手,主要是什么 indexOf方法将在返回类型中执行。

indexOf()
将返回子字符串的索引(如果它存在于调用它的字符串中)或
-1


在这种情况下,将通过
将其与-1进行比较,从而得到
true
false
,然后返回该值。

实际上,该方法的名称说明了这一切: 当
boolean z=x.contains(y)时,字符串x是否包含字符串y

为了更好的解释,请点击这里

indexOf方法返回目标字符串的第一个出现位置。 如果找不到匹配字符串,则返回-1。 所以,如果indexOf方法返回-1,则意味着它找不到匹配项。这导致结果为false。

是一个接口,因此
String#contains
可以接受实现该接口的任何内容。实现它的类之一是
String
,但也有其他类

CharSequence
定义了一个方法,
toString
,该方法将字符序列转换为
字符串

String
定义接受
String
子字符串的,并通过返回它在字符串中出现的索引来告诉您它是否在字符串中。如果子字符串不在字符串中,则返回-1


因此,
indexOf(s.toString())>-1
告诉您字符串是否包含由
CharSequence
s
定义的子字符串。您在这里的最佳选择是熟悉它。事实上,当您不明白某件事情将要做什么时,请阅读文档。如果下面的任何答案都回答了您的问题,按照堆栈溢出的工作方式,您可以通过单击旁边的复选标记来“接受”答案。但前提是你的问题得到了回答;如果没有,考虑在问题中添加更多的细节。如果你自己回答的方式与现有答案明显不同,那么发布你自己的答案并接受它是完全可以的(这样会让你等两天才接受)。谢谢35; Dragondraik k
public boolean contains(CharSequence s) {
    return indexOf(s.toString()) > -1;
}