字母

时间:2013-01-24 10:20:00

标签: java string

我有一个大字符串数组,每个索引都有一个字母。我需要从这个数组中进行回忆,并将所有这些字母组合成一个单词/字符串。我怎么会在java中做到这一点?

String[] letters;
int lettersToRecall =16;
String word;
for(int i=0; i<lettersToRecall; i++){
//accumm letters into String Word..
}

4 个答案:

答案 0 :(得分:3)

这种最直接的方法是将所有字符串添加到一起:

String word = "";
for(int i = 0; i < lettersToRecall; i++){
    word += letters[i];
}

此方法(仅添加String个对象)会浪费大量String个实例,因为每个添加都会导致新实例。

因此,如果您关注资源使用情况,可以改为使用StringBuilder

StringBuilder builder = new StringBuilder();
for(int i = 0; i < lettersToRecall; i++){
    builder.append(letters[i]);
}
String word = builder.toString();

有关详细信息,请查看when to use StringBuilder in java

答案 1 :(得分:1)

String letters="your string here";
String result="";
for(int i=0;i<letters.length();i++)
{
    if((letters.charAt(i)>=65&&letters.charAt(i)<=90)||(letters.charAt(i)>=97&&letters.charAt(i)<=122))
    result+=letters.charAt(i);

}
System.out.println("result"+result);

答案 2 :(得分:0)

 public class Main {

    public static void main(String[] args) {
        String[] letters = new String[3];
        letters[0] = "a";
        letters[1] = "b";
        letters[2] = "c";
        StringBuilder word = new StringBuilder();
        for (int i = 0; i < letters.length; i++) {
            word.append(letters[i]);
        }
        System.out.println(word);        
    }
}

我找到了另一种方法,这个怎么样?

System.out.println(Arrays.toString(letters).replaceAll(",|\\s|\\]$|^\\[", ""));

请注意,仅在字符串中没有space,时使用

答案 3 :(得分:0)

您可以使用Commons-lang.jar来完成此任务。示例代码:

word = StringUtils.join(letters);

如果你想自己写。请尝试以下:

public String join(String[] letters){
    StringBuffer buffer = new StringBuffer();
    for(int idx=0;idx <letters.length;idx++){
        buffer.append(letters[idx]);
    }
    return buffer.toString();
}