将CharSequence转换为IntegerArray

时间:2013-02-09 22:42:28

标签: java arrays character-encoding integer

我尝试将CharacterSequence直接转换为具有单个整数的整数数组。

CharSequence nbr = "478";
int j;
int[] testArray = new int[100];

for(j = 0; j <= nbr.length() - 1; j++)
    testArray[j] = Character.getNumericValue(nbr.charAt(j));

System.out.println(testArray);

而不是所需的[4,7,8],控制台会给出类似的内容:

[I@424c2849

设置一个带有“0”,“1”,......,“8”,“9”和相应分配的开关并没有解决问题。

我希望你能帮助我!在此先感谢;)

2 个答案:

答案 0 :(得分:1)

数组不会覆盖toString方法。因此,当您尝试打印任何数组时,将调用ObjecttoString方法,并获得该方法返回的表示形式,其形式为 - Type@hashCode

要获得所需的表示,请使用Arrays.toString方法打印数组: -

System.out.println(Arrays.toString(testArray));

除此之外,你真的应该将整数数组声明为:

int[] testArray = new int[nbr.length()];

而不是使用100尺寸。

答案 1 :(得分:0)

尝试

    CharSequence nbr = "478";
    int j;
    int[] testArray = new int[100];

    for(j = 0; j <= nbr.length() - 1; j++)
        testArray[j] = Character.getNumericValue(nbr.charAt(j));

    for(int i : testArray){
        System.out.println(i);
    }