我不想按照正式方式使用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中是否有像C语言一样,每个字符串的末尾都有一个特殊字符?
不,Java中的字符串并不是这样工作的。
我不想使用循环遍历字符串的所有元素(即字符串长度)的正统方式。
那么唯一的选择可能就是附加自己的特殊字符了:
yourString += '\0';
但要注意,yourString
中间可能也包含 \0
字符。
如果您正在遍历字符串中的字符,您也可以这样做:
for (char c : yourString.toCharArray())
process(c);
System.getProperty("line.separator");
这将告诉您操作系统独立的换行符。 您可以将字符串的字符与此新行
字符进行比较。
String[] splitUpByLines = multiLineString.split("\r\n");
将返回一个由String
数组组成的结果,每个元素代表多行字符串中的一行。