溫馨提示×

Java中NotNull注解的使用方法

小樊
420
2024-08-11 06:56:37
欄目: 編程語言

在Java中,@NotNull注解是javax.validation.constraints包中的一個驗證注解,用于標記參數、字段或方法返回值不能為空。當一個使用了@NotNull注解的元素為null時,會拋出javax.validation.constraints.NotNull異常。

@NotNull注解通常與Bean Validation API一起使用,可以在實體類的字段上添加@NotNull注解來指定該字段不能為空,例如:

public class User {
    @NotNull
    private String username;

    @NotNull
    private String password;

    // 省略getter和setter方法
}

在使用Bean Validation API驗證實體類時,可以通過Validator對實體類中的字段進行驗證,如果驗證失敗會拋出ConstraintViolationException異常,示例代碼如下:

import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.constraints.NotNull;

public class Main {
    public static void main(String[] args) {
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        Validator validator = factory.getValidator();

        User user = new User();
        user.setUsername(null);
        user.setPassword("password");

        Set<ConstraintViolation<User>> violations = validator.validate(user);
        for (ConstraintViolation<User> violation : violations) {
            System.out.println(violation.getMessage());
        }
    }
}

在上面的示例中,向User對象中的username字段賦值為null,由于該字段上添加了@NotNull注解,所以在驗證時會拋出ConstraintViolationException異常,打印出錯誤消息。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女