龙空技术网

Java中的空指针怎么处理?

烦人的星辰 35

前言:

当前兄弟们对“javaif空”大致比较关切,咱们都想要了解一些“javaif空”的相关内容。那么小编也在网上汇集了一些有关“javaif空””的相关资讯,希望姐妹们能喜欢,兄弟们快快来学习一下吧!

#暑期创作大赛#

Java程序员工作中遇到最多的错误就是空指针异常,无论你多么细心,一不留神就从代码的某个地方冒出NullPointerException,令人头疼。

1. 对象设置默认值

Object obj = new Object();String str = "";
2. 字符串比较,常量放前面
if ("success".equals(status)) {    // doSomething()}
3. 方法返回空集合
public List<User> getUsers() {    List<User> users = userService.selectList();    return users == null ? Collections.emptyList() : users;}
4. 转String,用valueOf()方法代替toString()
User user = null;String str = String.valueOf(user);

valueOf()方法源码是:

public static String valueOf(Object obj) {    return (obj == null) ? "null" : obj.toString();}
5. 判空,用工具库

apache commons是最强大的,也是使用最广泛的工具类库,用它就行了

// 字符串判空String str = null;boolean isEmpty = StringUtils.isEmpty(str);// 判空的时候,会自动忽略空白字符,比如空格、换行boolean isBlank = StringUtils.isBlank(str);// 集合判空List<String> list = null;boolean isEmpty = CollectionUtils.isEmpty(list);
6. 用注解帮你检查
class User {    @NotNull    private Integer id;    @NotBlank    private String name;}
7. 避免不必要的拆箱
// 下面会抛异常Integer id = null;int newId = id;
8. 数据库字段要设置默认值

数值类型的字段设置默认0,varchar类型字段设置默认 ‘’ 空串。

避免取出来使用的时候,还要进行判空。

9. 使用Java8的Optional

// 获取用户姓名,下面的代码,不会报异常User user = null;Optional<User> optUser = Optional.ofNullable(user);String name = optUser.map(User::getName).orElse(null);

标签: #javaif空 #java字符串判空 #java中字符串为空怎么写 #java空字符串是什么意思 #java中文本框为空怎么设置