【问题标题】:Append char arrays to create string追加 char 数组以创建字符串
【发布时间】:2012-05-24 02:40:05
【问题描述】:

如何添加所有 charAcro[] 来创建字符串?例子 charAcro[0] = a, charAcro[1] = b, charAcro[2] = c, 使得字符串 abc

 while(resultSet.next()){
                    String Name = rs.getString(1);
                    String Acro=Name;
                    String delimiterAcro = " ";
                    String[] temp =null;
                    char[] charAcro = null;
                    temp = Name.split(delimiterAcro);
                    for(int i = 0;i<temp.length;++i){
                    charAcro[i] = temp[i].charAt(0);
                    //SOME CODE HERE?
                    }

      }

【问题讨论】:

    标签: java string split arrays


    【解决方案1】:

    有一个String 可用的构造函数接受char 数组,

    char data[] = {'a', 'b', 'c'};
    String str = new String(data);
    

    当我这样做时,请查看Java Naming Conventions。类名应该是名词,大小写混合,每个内部单词的首字母大写。而变量是混合大小写的,首字母小写。内部单词以大写字母开头。

    例如在你的代码 sn-p 中,

    String Name = rs.getString(1);
    

    这很糟糕,如果没有错的话。

    此外,您很可能在 line 处遇到 NullPointerException,

    charAcro[i] = temp[i].charAt(0);
    

    因为您没有初始化数组。以下是适合您的代码。

    String name = rs.getString(1);
    String[] temp = name.split(" ");
    char[] charAcro = new char[temp.length];
    for (int i = 0; i < temp.length; ++i) {
        charAcro[i] = temp[i].charAt(0);
    }
    System.out.println(new String(charAcro));
    

    【讨论】:

    • 我用 StringBuilder 回答,但这是一个更优雅的解决方案。荣誉。
    【解决方案2】:

    String 有一个构造函数,它接受一个 char 数组,所以这样做:

    String string = new String(charAcro);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      相关资源
      最近更新 更多