使用字符串的字符读取字符的问题:JAVA

时间:2012-03-21 17:29:38

标签: java

我有一个非常长的字符串,我想逐个字符地读取字符串的结尾。

在Java中,我找到了两种方法来阅读它:

  1. 使用CharAt。
  2. 使用StringReader。
  3. 任何人都可以帮助我:

    1. 哪一种更快?
    2. 如何使用StringReader逐个字符地读取字符 字符串?
    3. 提前致谢。

4 个答案:

答案 0 :(得分:3)

  1. 测量并找出答案!说真的,与你的硬件相比,我硬件上的东西可能会有所不同。但我怀疑charAt()
  2. 它只是一个Reader,因此它与其他任何Reader具有相同的方法,包括int read(),它将逐个返回每个字符的Unicode代码点

答案 1 :(得分:2)

  1. 自己测量一下。一旦将字符串加载到内存中,我就看不出有意义/显着的差异。
  2. StringReader#read()(RFTD)

答案 2 :(得分:2)

“很长很长?”

使用toCharArray()方法将字符串转换为char数组,并从循环中获取它:

String mystring =“test”;

char [] myCharArray = mystring.toCharArray();

答案 3 :(得分:1)

这是一个简单的类,旨在按照您的要求执行,使用charAt方法:

public class Test {

static String tS = "Hello this is a string";


public static void main (String args []) {
//make a blank character that gets replaced each time the for loop runs     
char c;     
    for (int j = 0; j < tS.length(); j++) {
            //for loop runs up the length of the string, then sets c to the
            //current character in the string. Printing c just proves the concept.
        c = tS.charAt(j);
        System.out.println(c);
    }
}
}

请记住,这些都不需要在类或主方法中完成 - 您可以在代码中的任何位置执行此操作。