如何解决Java indexOf("") 返回 0
有人可以通过返回否定结果来帮助解释 indexOf("") 返回 0 是否与 -1 预定义相同吗?
谢谢大家,复活节快乐!
ps。以下链接很有帮助,但它不包含我的问题的确切答案 "Hello".indexOf("") returns 0
public class ExIndexOf {
public static void main(String[] args) {
String s = "We learn Java.";
System.out.println(s.indexOf("ava")); // -> 10
System.out.println(s.indexOf("java")); // -1
System.out.println(s.indexOf(" ")); // -> 2
System.out.println(s.indexOf("")); // -> 0
}
}
解决方法
因为 indexOf
返回其参数在字符串中的第一个位置(索引)。 Java 中的字符串,如数组和集合,都是零索引的,这意味着索引 0
描述了第一项。索引 1
是第二项,索引 n
描述第 n+1
项。许多函数返回(无效)索引 -1
(一个“魔法”值)来表示“未找到”或“错误”。
空字符串多次包含在每个字符串中。可以找到它的第一个位置是位置 0。可以把它想象成:String s = "" + "We learn Java."
(或者更详细的:s = "" + "W" + "" + "e" + "" + " " + "" + "l" + …
)。
String s = "We learn Java.";
System.out.println(s.indexOf("")); // -> 0
System.out.println(s.indexOf("W")); // 0
System.out.println(s.indexOf("e")); // -> 1
System.out.println(s.indexOf(" ")); // -> 2
System.out.println(s.indexOf("not found")); // -> -1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。