@Null和@NotNull注解区别
时间: 2023-06-26 09:09:33 浏览: 66
@Null和@NotNull注解都是Java中用于参数校验的注解,但是它们有着不同的含义和作用。
@NotNull注解用于标注参数不能为null,如果出现参数为null的情况,会抛出NullPointerException异常。这个注解通常用于标注方法的参数,确保参数不会为null。
@Null注解则相反,用于标注参数必须为null,如果出现参数不为null的情况,会抛出IllegalArgumentException异常。这个注解通常用于标注方法的参数,确保参数必须为null。
总的来说,@NotNull注解用于确保参数不为空,而@Null注解用于确保参数必须为空。在实际开发中,这两个注解可以帮助开发人员更加方便地进行参数校验,提高代码的可靠性。
相关问题
@Null 和 @notnull区别
@Null和@NotNull是两种用于注解的限制条件,它们的作用是为了确保被注解的对象是否可以为null或不能为空。区别如下:
- @Null注解表示被注解的对象可以为null。
- @NotNull注解表示被注解的对象不能为null。
引用中提到了一个额外的注解@NotBlank,它是@NotNull的一种特殊形式。@NotBlank注解要求被注解的字符串不能为空且去除两端空白字符后的长度大于0,即字符串不能为null且不能全为空格。
总结来说,@Null注解用于允许对象为null,@NotNull注解用于禁止对象为null,而@NotBlank注解用于确保字符串既不为null也不为空格。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [@NotNull, @NotEmpty和@NotBlank区别包含哪些](https://blog.csdn.net/weixin_57763462/article/details/119575813)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
@notnull注解和@notblank注解
@NotNull 和 @NotBlank 注解都是 Java Bean Validation API 中的注解,用于校验数据的有效性。但是它们的作用略有不同。
@NotNull 注解用于校验一个对象是否为 null,不能为 null。它可以用于校验任何类型的对象,包括字符串、数字和自定义的对象等。
@NotBlank 注解用于校验一个字符串是否为空或者只包含空格。它只能用于校验字符串类型的对象。
举个例子,如果我们想要确保一个字符串不为空且长度必须大于 0,我们可以使用 @NotBlank 注解,如下所示:
```java
public class User {
@NotBlank(message = "用户名不能为空")
private String username;
// ...
}
```
如果我们想要确保一个对象不能为 null,我们可以使用 @NotNull 注解,如下所示:
```java
public class User {
@NotNull(message = "用户信息不能为空")
private UserInfo userInfo;
// ...
}
```