温馨提示×

Java中NotNull注解的使用方法

小樊
324
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