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对象。
路漫漫其修远兮,吾将上下而求索