instanceof的使用和注意

instanceof的作用:判断一个对象是否是某个类型

例如:

import lombok.Data;

import java.math.BigDecimal;

@Data
public class Person {

    private Integer age;

    private String name;

    private BigDecimal salary;

}
Person person = new Person();
person.setAge(1);
boolean b = person.getAge() instanceof Integer;
System.out.println("b:"+b);

输出为:true

需要注意空指针问题

Person person2 = new Person();
if (person2.getAge() instanceof Integer) {
       System.out.println(1);
} else {
       System.out.println(-1);
}

输出为:-1

结果说明当一个要使用instanceof的值为null,那么结果为:false

上面的instanceof代码可以转换为:

null instanceof Integer

结果一直为false.