[英]I cant understand this lastindexof method in Java 11
int a="abcd".indexOf("d",0);
int b="abcd".indexOf("d",1);
int c="abcd".indexOf("d",2);
int d="abcd".indexOf("d",3);
int e="abcd".indexOf("d",4);
int f="abcd".indexOf("d",5);
int b1="abcd".indexOf("d",-1);
int c1="abcd".indexOf("d",-2);
int d1="abcd".indexOf("d",-3);
int e1="abcd".indexOf("d",-4);
int f1="abcd".indexOf("d",-5);
System.out.println("Last index of from index 0 "+a);
System.out.println("Last index of from index 1 "+b);
System.out.println("Last index of from index 2 "+c);
System.out.println("Last index of from index 3 "+d);
System.out.println("Last index of from index 4 "+a);
System.out.println("Last index of from index 5 "+f);
System.out.println("Last index of from index -1 "+b1);
System.out.println("Last index of from index -2 "+c1);
System.out.println("Last index of from index -3 "+d1);
System.out.println("Last index of from index -4 "+e1);
System.out.println("Last index of from index -5 "+f1);
结果
Last index of from index 0 3
Last index of from index 1 3
Last index of from index 2 3
Last index of from index 3 3
Last index of from index 4 3
Last index of from index 5 -1
Last index of from index -1 3
Last index of from index -2 3
Last index of from index -3 3
Last index of from index -4 3
Last index of from index -5 3
有人可以解释正负指数是如何工作的吗?
它没有为indexOf(String, int)
拼写出来,但indexOf(int, int)
的行为方式相同(强调我的):
fromIndex
的值没有限制。 如果它是负数,它的效果与它为零一样:可以搜索整个字符串。 如果它大于此字符串的长度,则其效果与等于此字符串的长度相同:返回 -1。
(请注意,您的文本谈到lastIndexOf
,但代码是indexOf
。 lastIndexOf
的逻辑是相反的:虽然在任何负索引之后找到整个字符串,但没有一个字符串在负索引前面,所以lastIndexOf
带有负起点永远找不到任何东西。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.