如何检查我是否已经到达Java中String的末尾?

时间:2012-06-14 13:26:33

标签: java string

我不想以正式的方式使用for循环遍历字符串的所有元素“特定次数”(字符串的长度)。

是否有任何字符始终位于Java中每个字符串的末尾,就像在c中一样?

4 个答案:

答案 0 :(得分:7)

您有两个基本选项:

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()方法来查找字符串的长度。

答案 1 :(得分:3)

  

是否有任何字符始终位于java中每个字符串的tnd,就像它在c中一样?

不,这不是Java字符串的工作方式。

  

我不想通过使用for循环遍历字符串的所有元素“特定的次数”(字符串的长度),以正式方式执行。

唯一的选择可能就是附加一个你自己的特殊字符:

yourString += '\0';

(但请注意yourString中间也可能包含\0; - )

如果你在字符串中迭代字符,你也可以

for (char c : yourString.toCharArray())
    process(c);

答案 2 :(得分:0)

String[] splitUpByLines = multiLineString.split("\r\n");

将返回String个数组,每个数组代表多行字符串的一行。

答案 3 :(得分:0)

System.getProperty("line.separator"); 这将告诉您OS独立的新行字符。您可以根据此new line字符检查字符串的字符。