当前位置: 首页 > news >正文

网站正在建设中 页面海外网站

网站正在建设中 页面,海外网站,建设局怎么样,建设银行网站建设情况参考链接: java中什么是空指针异常以及为什么会产生空指针异常天上的云川的博客-CSDN博客什么是java空指针 java中容易产生空指针异常:NullPointerException的场景火龙映天的博客-CSDN博客java怎么制造空指针异常 java空指针异常是什么、怎么发生、如何…

参考链接:

  • java中什么是空指针异常以及为什么会产生空指针异常天上的云川的博客-CSDN博客什么是java空指针

  • java中容易产生空指针异常:NullPointerException的场景火龙映天的博客-CSDN博客java怎么制造空指针异常

  • java空指针异常是什么、怎么发生、如何处理僵尸道长毛小方的博客-CSDN博客空指针异常是什么

1. 名词解释

指针:指针中存放的是内存地址。

空:null

空指针:指针不指向任何内存地址(没有初始化分配内存,获得引用)

空指针异常:一个指针不指向任何内存地址,但仍被调用了。

打开 NullPointerException源码,开头就写明出现NullPointerException的原因:

  • Invoking a method from a null object:调用空对象的方法

    • obj.method() // obj对象不存在

  • Accessing or modifying a null object’s field:获取或修改空对象的字段

    • obj.setName("cjn") // obj对象不存在

  • Taking the length of null, as if it were an array:获取一个空数组的长度

    • array.length // array为null

  • Accessing or modifying the slots of null object, as if it were an array:获取或者修改空集合的一个位置上的内容

    • arr[100]=100; // array为null

  • Throwing null, as if it were a Throwable value:将null视为Throwable值

  • When you try to synchronize over a null object:当你尝试同步一个空对象

2. 代码测试

测试代码如下:

 package exception;​import cn.hutool.core.collection.CollUtil;import cn.hutool.core.util.StrUtil;import compare.User;​import java.util.Hashtable;import java.util.List;​/*** @ClassName NullPointerExceptionTest* @Description 产生空指针异常的原因:在null对象上调用方法或者获取属性* @Author Jiangnan Cui* @Date 2023/2/13 21:05* @Version 1.0*/public class NullPointerExceptionTest {public static void main(String[] args) {stringNullPointerException();collectionNullPointerException();packageClassNullPointerException();  }​/*** 测试字符串产生的空指针异常*/public static void stringNullPointerException(){System.out.println("测试字符串产生的空指针异常");String str = null;// 1. 字符串内容为null,调用字符串相关方法时会产生空指针异常//        if(!str.isEmpty()){//            System.out.println("str = " + str);//        }// 优化:先判断不为null,满足后再调用其所属方法if(str != null && !str.isEmpty()){System.out.println("str = " + str);}​// 2. 字符串内容为null,进行字符串内容比较时会产生空指针异常//        if(str.equals("test")){//            System.out.println("str = " + str);//        }// 优化:// a. 将不为null的字符串内容放在前方if("test".equals(str)){System.out.println("str = " + str);}// 2. 使用StrUtil.equals()方法比较,此时str放在前后均可以// str放在前面if(StrUtil.equals(str, "test")){System.out.println("str = " + str);}// str放在后面if(StrUtil.equals("test", str)){System.out.println("str = " + str);}}​/*** 测试包装类自动拆箱时产生的空指针异常*/public static void packageClassNullPointerException(){Integer integer = null;//        int number = integer;//        System.out.println("number = " + number);// 优化:先判空,再赋值int number = 0;if(integer != null){number = integer;}System.out.println("number = " + number);}​/*** 测试集合调用时产生的空指针异常*/public static void collectionNullPointerException(){// 1. 集合为空时,调用集合相关方法会产生空指针异常List<String> list = null;//        if(list.isEmpty()){//            System.out.println("我是空!");//        }// 优化:// a. 先判断是否是null,不为null时在判空if(list != null && list.isEmpty()){System.out.println("我是空!");}// 集合不为null时,也可以通过.size()方法判断集合是否为空if(list != null && list.size() > 0){System.out.println("我是空!");}// b. 使用工具类判断集合是否为空if(CollUtil.isEmpty(list)){System.out.println("我是空!");}​// 2. 向集合中添加元素产生空指针异常String key = null;String value = null;Hashtable<String,String> hashtable = new Hashtable<>();//        hashtable.put(key,value);// 优化:if(key != null && value != null){hashtable.put(key, value);}/*** 总结:*     分析:部分集合中不允许设置key或value为null,这类集合主要有:Hashtable、ConcurrentHashMap、ConcurrentSkipListSet、* ConcurrentLinkedDeque、ConcurrentLinkedQueue、LinkedBlockingDeque、LinkedBlockingQueue、ArrayBlockingQueue、* PriorityBlockingQueue等。*/}}

如有错误,欢迎批评指正!

http://www.tj-hxxt.cn/news/6505.html

相关文章:

  • 2022年没封网站直接进入网络营销推广工具
  • 网站制作 深圳想找搜索引擎优化
  • 做代妈的网站柳州网站建设哪里有
  • 有做盆景的网站代运营一家店铺多少钱
  • 杭州企业网站优化软文新闻发稿平台
  • 科技学堂seo学习
  • 学做网站视频优化关键词的方法包括
  • 游戏代打接单平台seo81
  • 网站右边上下浮动代码网络营销方案策划案例
  • 快递公司网站源码找关键词的方法与技巧
  • 微信订阅号关键网站天津债务优化公司
  • 网站怎样绑定域名线上营销策划案例
  • 自己做的网站别人打不开做seo必须有网站吗
  • 做二手网站有哪些凤凰网全国疫情实时动态
  • 营销网站建设平台精准拓客软件哪个好
  • 手机网站搭建用什么软件?百度网盘搜索引擎入口在哪里
  • 网页制作教程ps百度seo排名查询
  • ps做的网站模板怎样在百度发广告贴
  • 著名的网站制作公司seo推广方法
  • 企业网站建设免费数据分析平台
  • wordpress gif缩略图黑帽seo联系方式
  • 自己做网站好还是凡科seo手机端排名软件
  • 招商网站建设免费今日疫情最新消息
  • 镇江门户网站手机网站快速建站
  • 创建一个网站的步骤是登封搜索引擎优化
  • 中国建筑装饰网家居频道seo网站的优化方案
  • pc网站制作公司seo站长工具是什么
  • 合肥做网站行吗seo网站搜索优化
  • 网站备案产品信息错误百度链接地址
  • 做好党史网站的建设厦门人才网招聘最新信息