现在的位置: 首页 > web前端 > 正文

notnull注解什么时候用

2020年07月16日 web前端 ⁄ 共 1029字 ⁄ 字号 评论关闭

  NotNull注解是要求参数或者其他指明的位置的变量不能为NULL,但是注解本身只是一个标记不影响代码逻辑,那么,我们为什么还需要这个注解?


  NotNull注解例子


  举个例子,我们在如下参数入口处本来就需要检查参数是否为null,那么为什么还需要加NotNull注解呢?


  publicvoidtest(Stringname){


  if(name==null)thrownewIllegalArgumentException("nameisnull");


  ...


  }


  notnull常用标签


  @Null被注释的元素必须为null


  @NotNull被注释的元素不能为null


  @AssertTrue被注释的元素必须为true


  @AssertFalse被注释的元素必须为false


  @Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值


  @Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值


  @DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值


  @DecimalMax(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值


  @Size(max,min)被注释的元素的大小必须在指定的范围内。


  @Digits(integer,fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内


  @Past被注释的元素必须是一个过去的日期


  @Future被注释的元素必须是一个将来的日期


  @Pattern(value)被注释的元素必须符合指定的正则表达式。


  @Email被注释的元素必须是电子邮件地址


  @Length被注释的字符串的大小必须在指定的范围内


  @NotEmpty被注释的字符串必须非空


  @Range被注释的元素必须在合适的范围内


  example:


  vo页面传过来的数据进行校验


  inferface:只是作为标记一个组别可以在vo验证的某个字段上面加入多个组别,这样没有加入的组别就不会验证这个字段


  controller:需要加入@Validated(GroupInterface1.class)//GroupInterface1.class是定义的分组GroupInterface2.class需要校验的字段是不会验证的


  总之,NotNull注解给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.