String s = "i  am#     a   boy";
		
		boolean b = s.startsWith("#");
		
		for(int i=0; i < s.length(); i++){
			System.out.println(i +" : ["+ s.charAt(i)+"] , " + s.indexOf(s.charAt(i)));
		}
		
		System.out.println(s.substring(0, s.indexOf("oy")));
		System.out.println(s.substring(0, s.indexOf("o")));
		System.out.println(s.substring(0, s.indexOf("a")));


0 : [i] , 0

1 : [ ] , 1

2 : [a] , 2

3 : [m] , 3

4 : [#] , 4

5 : [ ] , 1

6 : [a] , 2

7 : [ ] , 1

8 : [b] , 8

9 : [o] , 9

10 : [y] , 10


i am# a b

i am# a b

i   // a出现了两次,s.indexOf 返回第一次的位置

很明显,subString 是前包后不包





本文转载:CSDN博客