当前位置: 首页 > 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.khdw.cn/news/67063.html

相关文章:

  • 狮城app更多网站百度客服24小时人工电话
  • 成都网站快速优化排名朝阳区seo
  • 网站开发 需求说明书爱站网关键词
  • 做医疗信息网站的域名深圳推广网络
  • 网站开发费杭州seo技术培训
  • 电子商务型网站网络推广项目计划书
  • 安徽合肥做网站无锡seo公司哪家好
  • 做网站注册页面大一html网页制作作业
  • 郑州网站建设培训学校债务优化是什么意思
  • 开发一款彩票app需要多少钱seo博客写作
  • 360安全网站怎么做号码认证搜索引擎营销是什么意思
  • 酒店网站建设流程百度搜索推广是什么
  • wordpress移服务器改域名seo诊断工具
  • 有哪些学做衣服的网站软文广告经典案例800字
  • 正规品牌网站设计地址推广优化关键词
  • 如何拷贝网站代码电商网络营销
  • 滁州市南谯区建设局网站百度关键词如何优化
  • IT男为女朋友做的求婚网站品牌网站建设方案
  • 国外游戏网站设计投放广告的网站
  • 杭州知名网站建设seo优质友链购买
  • 网站建设属于哪种公司seo网站推广是什么
  • 学做网站教学百度网盘网站seo关键词排名查询
  • 做定制网站多少钱seo网络推广排名
  • 网站 单页网络项目平台
  • 建网站要花钱吗搜索引擎营销的简称
  • 微信开发者平台教程seo快速优化方法
  • 临沂在线上网站建设广告推广平台网站有哪些
  • 网站描本链接怎么做seo网站内容优化有哪些
  • 做网站一年赚80亿网站建设需要多少钱?
  • 专业3合1网站建设价格百度一下百度搜索百度