带有"\n"的Java String索引

use*_*506 4 java string indexof

使用此字符串:

String test = "hey\nyo\nsup\nyello";
Run Code Online (Sandbox Code Playgroud)

我打电话给

System.out.println(test.indexOf("yello")); 
Run Code Online (Sandbox Code Playgroud)

我得到11,这个数字是如何产生的?并且"\n"是否算作字符串中的字符?

Bab*_*aby 7

"\n"是否算作字符串中的字符?

是的,在java中\n被视为单个字符

h e y \n y o \n s u p \n yello
-------------------------------
0 1 2  3 4 5  6 7 8 9 10 11
Run Code Online (Sandbox Code Playgroud)

这就是为什么你得到11test.indexOf("yello")


你可以试试这个证明:

String str = "\n";
System.out.println(str.length());
Run Code Online (Sandbox Code Playgroud)

会给你1输出