-
静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
// 静态初始化
int[] iStaticArr = { 5, 2, 0 };
LOLHero[] staticHeros = new Hero[] {
new LOLHero("艾希","女"),
new LOLHero("盖伦","男"),
new LOLHero("挖掘机","未知")
}; -
动态初始化
数组定义与为数组元素分配空间并赋值的操作分开进行。
//动态初始化
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[] iDefaultArr = new int[3]; //数组中的每个元素被赋予默认值0, 0, 0
LOLHero[] defaultHeros = new LOLHero[3]; //数组中每个元素被赋予默认值null, null, null其中布尔类型的变量的默认值为false
个人觉得,还是静态初始化省事,不过有时候确实需要动态初始化,有时候也不用初始化,所以看情况而定吧。
相关文章
- 12-05Java基础学习总结:多线程之(一)并发和并行,线程和进程,线程的三种创建方式,Runnable 和 Callable 的区别
- 12-05Java数组03:三种初始化及内存分析
- 12-05前端向后端传数组的三种方式(第一种简洁,第二种更简洁-推荐,第三种较繁琐)
- 12-05Java中用户向系统传递参数的三种基本方式
- 12-05java全栈系列之JavaSE--数组的三种初始化方法及内存分析024
- 12-05Java学习第九天<数组的声明和创建><三种初始化及内存分析><数组使用><二维数组>
<冒号排序><稀疏 - 12-05Spring 初始化的三种方式
- 12-05spring的依赖注入的三种方式,数组与集合注入
- 12-05java实现HTTP请求的三种方式
- 12-05js二维数组定义和初始化的三种方法总结