替换String Array中的条目

时间:2016-02-25 13:17:58

标签: java arrays

我有一个String Array,其中有多个条目。我想将此String Array转录为另一个,用数字替换特定条目(在这种情况下为k)。 到目前为止我尝试过的事情:

public void replace(String[] eqh, char var, int maxX){
String[] holder = new String[eqh.length];
    String  comp = "";
    for (int k = -maxX/2; k <= maxX/2; k++){
        for (int i = 0; i< eqh.length; i++){
            if (eqh[i].equals(var)){
                holder[i] = ""+k; 
            } else {
                holder[i] = eqh[i];
            } 
            comp = Arrays.toString(holder);
            System.out.println("comp: "+comp);
        } 
/// some stuff with comp here
}

Unfourtunatley这不起作用,comp的返回与eqh的输入完全相同。

2 个答案:

答案 0 :(得分:3)

您正在将字符串与eqh[i].equals(var)中的字符进行比较(它将始终返回false)。如果要检查第一个char是否等于var,请执行eqh[i].charAt(0) == var

此外,将整数转换为执行""+k的字符串并不是一个好习惯。使用Integer.toString(k)String.valueOf(k)

答案 1 :(得分:1)

您正在尝试检查String是否等于char,此测试的结果将始终为false。

您可以使用eqh[i].indexOf(var) >= 0来测试String是否包含char。