//对象数组,引用数组
public class ArrayTest6 {
static class MyDate {
private int year;
private int month;
private int day;
public MyDate() {
}
public MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public String sya() {
return year + "年" + month + "月" + day + "日";
}
}
public static void main(String[] args) {
MyDate[] arr;//此时没有数组对象产生arr
arr = new MyDate[4];//创建了数组对象
//对象数组的元素,必须真的要把对象实体new出来
arr[0] = new MyDate(1875, 5, 5);
arr[1] = new MyDate(1905, 5, 10);
arr[2] = new MyDate(2005, 5, 15);
//下标为3的元素为null,极其危险,所以这样的元素称为空洞,因为不小心调用了对象的方法,就会出异常
for (int i = 0; i < arr.length; i++) {
//加入判断
if(arr[i]!=null){
System.out.println(arr[i].sya());//出现空指针异常,一定是有.操作
}else {
System.out.println(arr[i]);
}
}
}
}
相关文章
- 06-23vue_如何判断变量是数组还是对象
- 06-23Juc15_基本AtomicInteger、数组、引用AtomicStampedReference、对象的属性修改原子类AtomicIntegerFieldUp 、原子操作增强类LongAdder
- 06-236.go基础入门-判断(if)、循环(for)、指针(ptr)、数组(array)
- 06-23不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用
- 06-23判断数据是数组还是对象的方法
- 06-23JS判断一个对象是不是数组类型,一共有7种方式
- 06-233.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景 |for循环中if else容易忽视的逻辑错误
- 06-23vue+element+table只循环一次改变新数组与旧数组的值,新数组是从旧数组里面分出来,也就是多选、对象引用类型特性的使用
- 06-23判断两个数组相同 两个对象相同 js
- 06-23java语言基础(零):jvm/jre/jdk、javac、基本数据类型、方法重载、数组与jvm内存划分