char数组,长度可变

时间:2014-07-20 16:51:05

标签: java arrays string compiler-errors runtime

我应该如何声明一个大小范围从1到100的char数组,并且我不能创建一个大小为100的数组,因为我必须创建许多数组。 我的意见是:

"bjomboleji";
"bnmjsjbfhaihfaihfga";
"zbihgfbjbnsdfbnbfkj";
"bnxbz";

我必须检查角色的常见现象。

5 个答案:

答案 0 :(得分:0)

ArrayList使用dynamic array

List<Chracter> array = new ArrayList<Chracter>();

答案 1 :(得分:0)

使用String分配值,然后使用toCharArray转换为数组(如果您确实需要字符数组)

答案 2 :(得分:0)

使用StringBuilder。这是一个“可变的字符序列”。

这是一个比List<Character>更好的解决方案,因为它避免了从Character原语创建char个对象的需要。

这比操纵String更好,因为String对象是不可变的,操作会导致创建其他对象。

答案 3 :(得分:0)

根据我的理解,你需要计算字符串中字符的出现次数。如果这是一个例子。没有必要将其转换为char数组

public class Test {
public static void main(String[] args) {
    String x="dhakjkfhajfhuagjkadmnfd";
    String y="tskashguadmnsdm,as";

    String Check_Character="s";

    //Availability
    System.out.println("X has Check_Character :"+x.contains(Check_Character)); //false
    System.out.println("Y has Check_Character :"+y.contains(Check_Character));//true

    //Number of occurrences
    System.out.println("X has Check_Character :"+((x+" ").split(Check_Character).length-1)+" : times");//0 times
    System.out.println("Y has Check_Character :"+((y+" ").split(Check_Character).length-1)+" : times");//4times

} 
}

否则,您可以使用列表而不是数组或使用它。

String z="dhakjkfhajfhuagjkadmnfd";
    char c[]=z.toCharArray();

答案 4 :(得分:0)

可变长度char基本上是interface CharSequence,由String, StringBuilder, StringBuffer实现。因此,您可以将其中任何一个用于变量char array