标签:需要 [1] 操作 strong 除了 初始化 类型 静态初始化 code
静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
// 静态初始化
int[] iArr = { 5, 2, 0 };
Hero[] heros = new Hero[] {
new Hero("艾希","女"),
new Hero("盖伦","男"),
new Hero("挖掘机","未知")
};
动态初始化
数组定义与为数组元素分配空间并赋值的操作分开进行。
//动态初始化
int[] iDynamicArr = new int[3];
iDynamicArr[0] = 5;
iDynamicArr[1] = 2;
iDynamicArr[2] = 0;
LOLHero[] dynamicHeros = new LOLHero[3];
dynamicHeros[0] = new LOLHero("艾希","女");
dynamicHeros[1] = new LOLHero("盖伦","男");
dynamicHeros[2] = new LOLHero("机器人","未知");
数组的默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化(即使不给赋初值,也会被程序赋予默认值)。
//默认初始化
int[] iArr = new int[3]; //数组中的每个元素被赋予默认值0, 0, 0
LOLHero[] heros = new LOLHero[3]; //数组中每个元素被赋予默认值null, null, null
其中布尔类型的变量的默认值为false
个人觉得,还是静态初始化省事,不过有时候确实需要动态初始化,有时候也不用初始化,所以看情况而定吧。
标签:需要 [1] 操作 strong 除了 初始化 类型 静态初始化 code
原文地址:https://www.cnblogs.com/zxfei/p/10704220.html