为什么我的代码打印[I @ 87816d当我运行此代码?

时间:2014-03-06 07:09:49

标签: java arrays

/*
 * Given an array of positive ints, return a new array of length "count" containing the
 * first even numbers 
 * from the original array. The original array will contain at least "count" even numbers.
 */

public class StringEx 
{

    public static void main(String[] args) 
    {
        int[] nums = {2,3,5,6,8};
        int count = 2;
        StringEx s1 = new StringEx();
        System.out.println(s1.copyEvens(nums, count));

    }
    public int[] copyEvens(int[] nums, int count) 
    {
       int[] n=new int[count];
       int c=0;

        for(int i=0;i<nums.length;i++)
        {
            if(nums[i]%2==0&&c!=count)
            {
                n[c]=nums[i];
                c++;

            }
        }

        return n;
    }
}

// Output:[I@87816d

1 个答案:

答案 0 :(得分:6)

数组没有很好的toString方法。他们使用Object.toString,这给出了

getClass().getName() + '@' + Integer.toHexString(hashCode())

这通常是无益的。如果您想要可读的表示,请使用Arrays.toString