JAVA中的数组是对象吗?

1 public class Main{
2     public static void main(String[] args)
3     {
4         int a[]={1,9};
5         //Object obj=new int[10];
6         System.out.println(a.toString());
7     }
8 }

数组是对象,但是这个数组对象并不是从某个类实例化来的,而是由JVM直接创建的,因此查看类名的时候会发现是很奇怪的类似于"[I"这样的样子,这个直接创建的对象的父类就是Object,所以可以调用Object中的所有方法,包括你用到的toString()。所以就打出了类似于[I@15db9742这样的稀奇古怪的数字。
如果要输出“{1,9}”这样的内容,可以写一个循环逐个输出,或者使用Arrays.toString()输出。但每个数组都对应一个Class对象。

原文地址:https://www.cnblogs.com/xh0102/p/5745582.html