java中的数组是不是对象

      在开发中,数组是我们最常用的数据结构,那么java中的数组是不是对象了,这是一个很值得思考的的问题,别急,我们来一步一步的分析,首先我们来分析对象的特点,说的直白点就是对象的特点是封装了一些数据,同时提供了一些属性和方法,那么我们再来看看数组,数组是指具有相同类型的数据的集合,它们一般具有固定的长度,并且在内存中占据连续的空间。另外我们需要知道一点,在C/C++语言中,数组名只是一个指针,这个指针指向了数组的首元素,既没有属性也没有方法调用,那么在java语言中,数组不仅有自己的属性(列如length属性,作用输出数组长度)也有一些方法可以被调用(列如clone方法)那么,从数组的这些角度我们可以分析出,数组就是个对象。

我们来写个案列:每个数组类型都有其对应的类型可以通过instanceof来判断数据的类型

public class DemoTest {
      public static void main(String[] args) {
          int[] a = {1,2,3,4,5};
          int[] [] b = new int[2][4];
          String[] s = {"a","b"};
          if(a instanceof int[])
              System.out.println("我是一维数组");

          if(b instanceof int[][])
              System.out.println("我是二维数组");
          
          if(s instanceof String[])
              System.out.println("我是字符串数组 ");
       }
  }
 //输出
E:\java\bin\java.exe "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2018.3.2\lib\idea_rt.jar=4339:D:\Program Files\JetBrains\IntelliJ IDEA 2018.3.2\bin" -lang\2.6\commons-lang-2.6.jar com.mayikt.handler.controller.DemoTest
我是一维数组
我是二维数组
我是字符串数组 
发布了41 篇原创文章 · 获赞 8 · 访问量 1292

猜你喜欢

转载自blog.csdn.net/sdgames/article/details/105000662