• java 数组


    1、数组和集合的区别
    数组是定长的,只能存入相同类型元素的一种容器,它既可以存入引用数据类型元素,也可以存入基本数据类型元素。
    而集合是可以自动增长容量的,可以存入不同类型元素的另外一种容器,集合中只能存入引用数据类型的元素,不能存入基本数据类型的元素。
    正因为如此,在JDK1.5的时候,加入了泛型机制和自动装箱/拆箱机制;之前需要人工手动装箱/拆箱。
     
    2、数组本身是一种引用数据类型
    2.1但我们发现在Eclipse里无法通过“Ctrl+鼠标左键”的方式打开一个数组的源码。
    2.2不过,我们却又发现可以通过反射机制得到一个数组的Class对象,并进一步获取这个Class对象的name属性的值,示例代码如下:
     1 package test;
     2 
     3 public class Test {
     4     public static void main(String[] args) {
     5         int[] array = new int[10];
     6         System.out.println(array.getClass());
     7         System.out.println(array.getClass().getName());
     8         System.out.println();
     9         System.out.println("1".getClass());
    10         System.out.println("1".getClass().getName());
    11     }
    12 }
    View Code
    1 class [I
    2 [I
    3 
    4 class java.lang.String
    5 java.lang.String
    运行结果 

    由此,我们知道,在本质上数组和其它的引用数据类型并没有区别,只不过是在具体的实现方式上有所不同而已。留待以后扩展......

    2.3所以,数组中的每个元素相当于数组对象的成员变量。我们知道,数组元素的默认值为0、0L、0.0、0.0F、null等,而这和成员变量的默认值完全相同。
     
    3、数组元素如果是引用类型,那么在数组中保存的就是一个一个的引用变量,而不是对象本身;也只能保存引用变量,否则数组元素的引用变量就没有存在的意义了。
     
    4、数组的声明
    int[] array = new int[10];
    int[] array = new int[]{10};
    int[10] array;
    第三种写法在java中是错误的;而在C++中可以的,表示在Stack内存块中创建一个容量为10的数组。
     
    5、数组有一个 length 属性,它保存着数组的长度。
  • 相关阅读:
    异步编程
    写代码写至最有面向对象味道
    GitHub上整理
    用CQRS+ES实现DDD
    前端开发
    让低版本的IE浏览器 强制渲染为IE8 或者 以上 浏览器模式
    NHibernate系列
    hadoop搭建开发环境及编写Hello World
    Linux date -s(转)
    即时编译和打包您的 Groovy 脚本(转)
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/6619233.html
Copyright © 2020-2023  润新知