将String数组转换为Integer数组

eas*_*ese 3 arrays android

由于我无法找到将字符串数组转换为整数数组的简单方法,因此我查找了一个方法的示例,这是我最终得到的结果:

private int[] convert(String string) {
    int number[] = new int[string.length()];

    for (int i = 0; i < string.length(); i++) {
        number[i] = Integer.parseInt(string[i]); // error here
    }
return number;
}
Run Code Online (Sandbox Code Playgroud)

parseInt需要一个字符串,这是字符串[i],但错误告诉我"表达式的类型必须是一个数组类型,但它解析为String"

我无法弄清楚我的代码有什么问题.

编辑:我是个白痴.谢谢所有这一切都很明显.

Mat*_*zza 8

您正在尝试读取字符串,就好像它是一个数组一样.我假设你一次尝试通过一个字符串.为此,请使用.charAt()

private int[] convert(String string) {
    int number[] = new int[string.length()];

    for (int i = 0; i < string.length(); i++) {
        number[i] = Integer.parseInt(string.charAt(i)); //Note charAt
    }
   return number;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您希望字符串是字符串数组,则会在函数原型中省略数组标识符.使用以下更正版本:

private int[] convert(String[] string) { //Note the [] after the String.
    int number[] = new int[string.length()];

    for (int i = 0; i < string.length(); i++) {
        number[i] = Integer.parseInt(string[i]);
    }
   return number;
}
Run Code Online (Sandbox Code Playgroud)