当前位置: 首页 > 面试题库 >

Java String.indexOf和空字符串

羊毅庵
2023-03-14
问题内容

我很好奇为什么在查询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中对变量(指针或类似物)调用方法。 还有一点,声明 实际上具有与以下功能相同的效果: 鉴于 如前所述,是另一回事。

  • 问题内容: 这是以前有关Java中的String初始化的一些问题的后续问题。 在用Java进行了一些小测试之后,我面临以下问题: 为什么我可以执行此语句 当str2一个String对象初始化为,但我不能调用方法toString()上str2?那么Java如何将空字符串对象和字符串文字串联起来? 顺便说一句,我还尝试将一个初始化为null和字符串文字的Integer连接起来,”a_literal_s

  • 问题内容: 这是该问题的后续措施。 问题在下面的第二行。 问题答案: 具体根据 源,其使用,

  • 问题内容: 我想获取字段的字符串值(它们可以是长字符串或任何对象的类型), 如果一个字段为空,那么它应该返回空字符串,我用番石榴做过; 但是如果gearbox为null,则返回null!非空字符串,因为valueOf methdod返回字符串“ null”,这会导致错误。 有任何想法吗? EDIt:有100多个字段,我正在寻找易于实现的字段 问题答案: 您可以使用(Java 7中的标准): 从链接

  • 本文向大家介绍区分MySQL中的空值(null)和空字符(''),包括了区分MySQL中的空值(null)和空字符('')的使用技巧和注意事项,需要的朋友参考一下 日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符。 空字符('')和空值(null)表面上看都是空,其实存在一些差异: 定义: 空值(NULL)的长度是NULL,不确定占用了多少存储空间,但是占

  • 问题内容: 我使用的框架会不时返回格式错误的字符串,其中包含“空”字符。 例如,“ foobar”表示为:[,f,o,o,b,a,r] 第一个字符不是空格(’‘),因此System.out.printlin()将返回“ foobar”而不是“ foobar”。但是,String的长度是7,而不是6。显然,这使大多数String方法(等于,拆分,子字符串等)变得无用。有没有办法从字符串中删除空字符?