Long类型中的方法parseLong(String)不适用于参数(char)

时间:2014-07-14 22:17:45

标签: java

我尝试使用charAt将String变量转换为long数组,但我遇到了问题。

public class PESEL {

    public static void main(String[] args) {

        long[] PESEL = new long[11];
        String PESELString;

        Scanner odczyt = new Scanner(System.in);
        PESELString = odczyt.nextLine();

        for(int i = 0; i < PESELString.length(); i++){
        PESEL[i] = Long.parseLong(PESELString.charAt(i));
        }


    }

}

在for循环中,我有警告:Long类型中的方法parseLong(String)不适用于参数(char)。为什么parseLong不适用于参数char? 感谢。

2 个答案:

答案 0 :(得分:2)

因为Long#parseLong()只接受String

PESEL[i] = Long.parseLong(String.valueOf(PESELString.charAt(i)));

答案 1 :(得分:0)

您如何使用long来输入一位数字?
无论如何,如果您确定只有数字...

,则无需显式转换即可执行此操作(也适用于intshort)。

PESEL[i] = PESELString.charAt(i) - 48;