将数组转换为单词数组

muk*_*lah 0 java string int

我正在尝试将数组转换为单词数组,例如:

{1,2} 将转换为 {"one","two"}

所以这是我在java中编写的代码:

public static void main(String[] args) {

    ArrayList<Integer> list1 = new ArrayList<>(Arrays.asList(1,2));

    Integer [] list1Array = list1.toArray(new Integer[0]);
    int numLength2 = list1.size();
    for(int i = 0; i < numLength2; i++){
        System.out.println(list1Array[i]);
     }   
    System.out.println(numLength2);
    String n2 = ""; 
    for(int j = 0; j < numLength2; j++) {
       int element = list1.get(j);
       System.out.println(element);
       switch (element) {
              case '1': {  
                    n2 = n2 + "one";
                    break;
                }
              case '2': { 
                    n2 = n2 + "two";
                    break;
                }

                default: {
                    n2 = n2 + "zero";
                }
            }
        }
        System.out.println(n2);
    }
}
Run Code Online (Sandbox Code Playgroud)

除最后一次打印外,它工作正常:

 System.out.println(n2);
Run Code Online (Sandbox Code Playgroud)

这里的输出是zerozero应该的onetwo.代码有什么问题?

Mur*_*nik 5

element是一个int,但你将它与char文字进行比较.您应该使用int文字:

switch (element) {

    case 1: {  
        n2 = n2 + "one";

        break;
    }
    case 2: { 
        n2 = n2 + "two";
        break;
    }

    default: {
        n2 = n2 + "zero";
    }
}
Run Code Online (Sandbox Code Playgroud)