Optional.ofNullable的使用 @NonNull @Nullable注解的使用

文章目录

  • Optional.ofNullable的使用
  • @NonNull @Nullable注解的使用

Optional.ofNullable的使用

@Test
public void test01(){
    Room room = new Room();
    People people = new People();
    Car car = new Car();
    room.setPeople(people);
    people.setCar(car);
    System.out.println(room.getPeople().getCar().getCarName());
    String carName = Optional.ofNullable(room.getPeople().getCar().getCarName()).orElse("内部有空");
}

当Optional.ofNullable() 内部为null时,可以返回一个兜底的内容,此兜底内容写到orElse() 中

但是如果ofNullable() 内部除了空指针,一样会抛异常

@NonNull @Nullable注解的使用

@Test
public void test01(){
    Car car = null;
    //testNull1(null);
    //testNull2(car);
    testNull3(car);
}


public void testNull1(@NonNull Car car){
//  java.lang.NullPointerException: car
}

public void testNull2(@Nullable Car car){
//正常
}

public void testNull3(Car car){

}

当标注了@NonNull的参数为null时,不论这个参数是否被使用,都会抛出空指针异常。

当标注了@Nullable的参数为null时,为空也可以

当不标注注解时,为空一样可以

你可能感兴趣的:(java技术,java,开发语言,后端,注解,程序员)