Java String.indexOf和空字符串

我很好奇为什么在查询String.indexOf字符串中的空字符串索引时为什么返回0(而不是-1)。

Javadocs仅说此方法返回指定字符串在此字符串中的索引,如果找不到该字符串,则返回-1。

对我来说,这种行为似乎非常出乎意料,我本来希望为-1。有什么想法为什么这种意外行为会继续吗?我至少认为这值得在该方法的Javadocs中进行说明…

System.out.println("FOO".indexOf("")); // outputs 0 wtf!!!

System.out.println("FOO".indexOf("bar")); // outputs -1 as expected

System.out.println("FOO".indexOf("F")); // outputs 0 as expected

System.out.println("".indexOf("")); // outputs 0 as expected, I think

回答:

空字符串无处不在,无处不在。它始终存在于所有弦乐中,渗透着它们的本质,但是当您寻求它时,您将永远不会瞥见。

一个字符串的开头可以容纳多少个空字符串?

学生对老师说:

老师,我相信我已经找到了空字符串的性质。空的绳子就像灰尘颗粒一样,随着灰尘自由地穿过房间,在阳光的照耀下,它自由地漂浮在绳子上。

老师回应学生,

嗯 一个很好的概念。现在告诉我,灰尘在哪里,阳光在哪里?

老师用皮带打学生,并指示他继续冥想。

以上是 Java String.indexOf和空字符串 的全部内容, 来源链接: utcz.com/qa/432162.html

回到顶部