在不使用数组等的情况下检查字符串的结尾

时间:2014-03-27 03:19:32

标签: java string

我的程序需要读取一个字符串并一次处理一个字符。我不想把字符串放到char数组中,所以有没有办法检查字符串的结尾而不这样做?我试图这样做(其中s是一个字符串):s.charAt(index) != null作为while循环的条件,但我很快发现这显然不起作用,因为你无法使用!=使用char和null。还有其他办法吗?

6 个答案:

答案 0 :(得分:3)

您可以尝试将index变量与s.length()进行比较:

while (index < s.length()) {
    //process
}

答案 1 :(得分:3)

您不需要将字符串放入char数组&#34;,您可以使用字符串长度作为限制器,charAt来处理每个字符:

for (int chPos = 0; chPos < str.length(); chPos++)
    doSomethingWith (str.charAt(chPos));

答案 2 :(得分:3)

您需要使用String的.length()方法。

String s = "test";   
for(int i=0; i < s.length ; i++){
   char c = s.charAt(i);
}

答案 3 :(得分:3)

您可以使用String的方法长度来检查字符串的大小。 例如:

for(int i = 0; i < s.length(); i++) {
    char h = s.charAt(i);
    //process h
}

答案 4 :(得分:2)

一次只能通过字符串一个字符循环,只需使用字符串的长度来处理这个问题。例如:

if (inputString != null) {
  for (int i=0; i < imputString.length(); i++) {
     theChar = inputString.charAt(i);
     ...
  }
}

答案 5 :(得分:-1)

  1. 使用for循环遍历String中的所有字符,直到找到String.length()
  2. 使用foreach循环遍历从String.getBytes()返回的所有字符