我不想通过使用for
遍历字符串所有元素的循环来以正式的方式执行“特定次数”(字符串长度)。
是否有任何字符始终位于 Java 中每个字符串的末尾,就像它在 c 中一样?
您有两个基本选择:
String myString = "ABCD";
for (char c : myString.toCharArray())
{
System.out.println("Characer is " + c);
}
for (int i = 0; i < myString.length(); i++)
{
System.out.println("Character is " + myString.charAt(i));
}
第一个循环遍历字符数组,第二个循环使用普通索引循环。
然而,Java 确实支持像 '\n' (新行)这样的字符。如果要检查此字符是否存在,可以使用 indexOf('\n') 方法,该方法将返回字符的位置,如果找不到,则返回 -1。请注意,'\n' 字符不需要能够结束一个字符串,所以你不能单独依赖它。
Java 中的字符串没有 C 中的 NULL 终止符,因此您需要使用 length() 方法来找出字符串的长度。
是否有任何字符始终位于 java 中每个字符串的 tnd 中,就像它在 c 中一样?
不,这不是 Java 字符串的工作方式。
我不想通过使用遍历字符串所有元素的 for 循环来以正式的方式执行“特定次数”(字符串长度)。
那么唯一的选择可能是附加您自己的特殊字符:
yourString += '\0';
(但要注意中间yourString
也可能包含;-)\0
如果您正在迭代字符串中的字符,您也可以这样做
for (char c : yourString.toCharArray())
process(c);
String[] splitUpByLines = multiLineString.split("\r\n");
将返回一个 s 数组String
,每个代表多行字符串的一行。
System.getProperty("line.separator");
这将告诉您与操作系统无关的换行符。您可能可以根据该字符检查字符串的new line
字符。