leetcode-1 两数之和,为什么输出为 [I@10f87f48。数组定义有问题吗

import java.util.HashMap;
import java.util.Map;

class Solution {
    public static int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
        for (int i = 0; i < nums.length; ++i) {
            if (hashtable.containsKey(target - nums[i])) {
                return new int[]{hashtable.get(target - nums[i]), i};
            }
            hashtable.put(nums[i], i);
        }
        return new int[0];
    }

    public static void main(String[] args) {
        int[] a = {2,7,11,15};
        System.out.println(twoSum(a, 9));
    }
}

 

数组不能直接这样输出,要用

System.out.println(Arrays.toString(twoSum(a, 9)));