教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

null什么意思(审核意见是null)

  对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它解决的问题相比带来了更多的麻烦,但是null仍然陪伴着Java。
  为什么在Java中需要学习null?因为如果你对null不注意,Java将使你遭受空指针异常的痛苦,并且你也会得到一个沉痛的教训。精力充沛的编程是一门艺术,你的团队、客户和用户将会更加欣赏你。以我的经验来看,导致空指针异常的一个最主要的原因是对Java中null的知识还不够。
  你们当中的很多已经对null很熟悉了,但是对那些不是很熟悉的来说,可以学到一些关于null老的和新的知识。让我们一起重新学习Java中null的一些重要知识吧。
  Java中的Null是什么?
  正如我说过的那样,null是Java中一个很重要的概念。null设计初衷是为了表示一些缺失的东西,例如缺失的用户、资源或其他东西。但是,一年后,令人头疼的空指针异常给Java程序员带来不少的骚扰。在这份材料中,我们将学习到Java中null关键字的基本细节,并且探索一些技术来尽可能的减少null的检查以及如何避免恶心的空指针异常。
  1.首先,null是Java中的关键字,像public、static、final。它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错。
  使用其他语言的程序员可能会有这个问题,但是现在IDE的使用已经使得这个问题变得微不足道。现在,当你敲代码的时候,IDE像Eclipse、Netbeans可以纠正这个错误。但是使用其他工具像notepad、Vim、Emacs,这个问题却会浪费你宝贵时间的。
  2.就像每种原始类型都有默认值一样,如int默认值为0,boolean的默认值为false,null是任何引用类型的默认值,不严格的说是所有object类型的默认值。就像你创建了一个布尔类型的变量,它将false作为自己的默认值,Java中的任何引用变量都将null作为默认值。这对所有变量都是适用的,如成员变量、局部变量、实例变量、静态变量(但当你使用一个没有初始化的局部变量,编译器会警告你)。
  为了证明这个事实,你可以通过创建一个变量然后打印它的值来观察这个引用变量,如下图代码所示:
  这对静态和非静态的object来说都是正确的。就像你在这里看到的这样,我将myObj定义为静态引用,所以我可以在主方法里直接使用它。注意主方法是静态方法,不可使用非静态变量。
  3.我们要澄清一些误解,null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,来看下面的代码:
  你可以看到在编译和运行时期,将null强制转换成任何引用类型都是可行的,在运行时期都不会抛出空指针异常。
  4。null可以赋值给引用变量,你不能将null赋给基本类型变量,例如int、double、float、boolean。如果你那样做了,编译器将会报错,如下所示:
  正如你看到的那样,当你直接将null赋值给基本类型,会出现编译错误。但是如果将null赋值给包装类object,然后将object赋给各自的基本类型,编译器不会报,但是你将会在运行时期遇到空指针异常。这是Java中的自动拆箱导致的,我们将在下一个要点看到它。
  5。 任何含有null值的包装类在Java拆箱生成基本数据类型时候都会抛出一个空指针异常。一些程序员犯这样的错误,他们认为自动装箱会将null转换成各自基本类型的默认值,例如对于int转换成0,布尔类型转换成false,但是那是不正确的,如下面所示:
  但是当你运行上面的代码片段的时候,你会在控制台上看到主线程抛出空指针异常。在使用HashMap和Integer键值的时候会发生很多这样的错误。当你运行下面代码的时候就会出现错误。
  输出:
  这段代码看起来非常简单并且没有错误。
  你所做的一切是找到一个数字在数组中出现了多少次,这是Java数组中典型的寻找重复的技术。开发者首先得到以前的数值,然后再加一,最后把值放回Map里。程序员可能会以为,调用put方法时,自动装箱会自己处理好将int装箱成Interger,但是他忘记了当一个数字没有计数值的时候,HashMap的get()方法将会返回null,而不是0,因为Integer的默认值是null而不是0。当把null值传递给一个int型变量的时候自动装箱将会返回空指针异常。
  6.如果使用了带有null值的引用类型变量,instanceof操作将会返回false:
  输出:
  这是instanceof操作一个很重要的特性,使得对类型强制转换检查很有用
  7。你可能知道不能调用非静态方法来使用一个值为null的引用类型变量。它将会抛出空指针异常,但是你可能不知道,你可以使用静态方法来使用一个值为null的引用类型变量。因为静态方法使用静态绑定,不会抛出空指针异常。下面是一个例子:
  输出:
  输出:
  8)你可以将null传递给方法使用,这时方法可以接收任何引用类型,例如public void print(Object obj)可以这样调用print(null)。从编译角度来看这是可以的,但结果完全取决于方法。Null安全的方法,如在这个例子中的print方法,不会抛出空指针异常,只是优雅的退出。如果业务逻辑允许的话,推荐使用null安全的方法。
  9)你可以使用==或者!=操作来比较null值,但是不能使用其他算法或者逻辑操作,例如小于或者大于。跟SQL不一样,在Java中null==null将返回true,如下所示:
  输出:
  这是关于Java中null的全部。通过Java编程的一些经验和使用简单的技巧来避免空指针异常,你可以使你的代码变得null安全。因为null经常作为空或者未初始化的值,它是困惑的源头。对于方法而言,记录下null作为参数时方法有什么样的行为也是非常重要的。
  总而言之,记住,null是任何一个引用类型变量的默认值,在java中你不能使用null引用来调用任何的instance方法或者instance变量。
  本文转载至脚本之家,如有侵权,请联系立删!
  在JAVA学习上有困难,或者想学JAVA而无从下手的,可以私信我,或往下看:

如何去除伤疤(十年以上的疤痕能去掉吗)疤痕是一种顽固的皮肤问题,与新疤痕相比,老疤痕的新陈代谢已经减慢,趋于稳定,很多治疗方法对于老疤痕来说,都是无效或收效甚微的。但随着医疗技术水平的发展,对于老疤痕,只要对症修复,也脸上的螨虫怎么去除(杀灭螨虫最简单的方法)螨虫是非常让人讨厌的,螨虫的繁殖率是比较高的,而且感染的速度也非常快。有些人脸上就出现了螨虫,螨虫出现在皮肤细胞中会分泌很多的油脂,导致皮肤越来越差。当脸上有螨虫时一定要找到方法来纹身怎么样才能去掉(纹身怎么样才能稳)现在有很多年轻都喜欢去纹身,只要你随便走在大街上都可以看得到纹身的人,不管是男是女。其实这是一种潮流而已,并不代性格的好与坏。但是纹过身的人也很想去掉纹身的图案。而激光洗纹身是目前半永久培训哪里好(哪学半永久纹绣好)随着半永久纹绣行业的快速发展,国内大大小小半永久纹绣培训机构已不下千家。不管是新入行业的纹绣师还是资深纹绣师都很在意行业的纹绣培训机构排名的情况是怎样的,好作为选择优秀老师和学校学哪里培训纹绣(国内十大纹绣培训)宁夏纹绣纹眉培训学校。纹绣作为一门热门的半永,久定妆技术,想自己开个纹绣店就要先学习掌握到好的专业技能,那么学纹绣一般要花多少时间和钱呢?纹绣蕞重要的就是靓丽自然。将眉毛画个漂亮的纹绣学校哪里好(学纹绣的正规学校)我们也都知道,学校并不是好的才是好的,而是适合自己的才是好的,那在国内怎么选正规的纹绣学校,才不被坑。请看本文详细内容,为您一一解答。毫无疑问,半永久纹绣是这项技术性,是这门技艺,纹绣哪里学比较好(学纹绣要多少钱学费)宁夏纹绣纹眉培训学校。纹绣作为一门热门的半永,久定妆技术,想自己开个纹绣店就要先学习掌握到好的专业技能,那么学纹绣一般要花多少时间和钱呢?纹绣蕞重要的就是靓丽自然。将眉毛画个漂亮的纹绣怎么样(学纹眉多久可以出师)新手如何学习纹绣?纹绣行业成为一种美容时尚潮流。在多人选择做纹绣的同时也很多朋友选择加入纹绣这个美丽事业。纹绣前景好,纹绣师的工资待遇也相当高,加入纹绣行业不得不说是一个很明智的选摄影师要学多久(摄影大概多久能学会)摄影师培训班靠谱么?如今,摄影师作为一个专业技术性人才,为人们记录生活起了重大作用相当受欢迎,那么想学摄影师,去摄影师培训班靠不靠谱?要培训多久?今天小编为你解答。摄影师培训班靠谱花艺要学多久(学花艺大概需要多少钱)随着人们水平的不断提高和对生活品质的追求,鲜花的市场需求越来越大,已经成为人们生活不可缺少的点缀。近十年来,花店行业,也一直保持着一个朝阳行业拥有温度和勃发的力量向前发展。面对众多有多少美甲店是亏本的(开一个美甲店预算)学美甲开美甲店,不懂运营迟早要面临倒闭!创业开美甲店快七年,依稀记得刚从美甲学校毕业,第一时间没有想过找工作,而是直接选择了开店创业,当时满怀热情,很享受创业带来的快感,完全没有想
咋样查找微信删除的聊天记录(微信可以查删掉的聊天记录吗)作为我们现在的主要通讯软件,很多小伙伴对它是又爱又恨。毕竟兜兜转转发展了那么多年,进行了无数次的更新修复,依然还是没有听从用户内心的声音。比如什么时候可以云端保存聊天记录什么时候可微信怎么恢复删除好友的聊天记录(查看微信删除的聊天记录)有时候因为一些个人原因或者其他原因,我们会删除一些好友和聊天记录。也不知道我们为什么要删除呢?今天老大就手把手的教你恢复删除的好友和聊天记录。首先打开,找到设置点击帮助与反馈点击右如何提取住房公积金(个人住房公积金提取方法)住房公积金是根据国务院住房公积金管理条例的规定来缴存的。我国的住房公积金制度实施的时间比较早,国务院住房公积金管理条例是从1999年3月开始发布实施的,也就是从1999年3月开始,台战机清晨紧急起飞模拟制敌空袭近日有关于台战机清晨紧急起飞模拟制敌空袭的问题受到了很多网友们的关注大多数网友都想要知道台战机清晨紧急起飞模拟制敌空袭的具体情况那么关于到台战机清晨紧急起飞模拟制敌空袭的相关信息小娜扎是单眼皮还是双眼皮近日有关于娜扎是单眼皮还是双眼皮的问题受到了很多网友们的关注大多数网友都想要知道娜扎是单眼皮还是双眼皮的具体情况那么关于到娜扎是单眼皮还是双眼皮的相关信息小编也是在网上进行了一系列满族为什么能统一中国(清军为什么能统一中国)清朝是中国历史上最后一个封建大一统王朝,同时还是自元朝以后第二个少数民族建立起的大一统政权。历数封建社会国祚超过200年的大一统政权,也就是汉唐明清四朝而已,而清朝是其中仅有的少数交易最终都会落到均线上金驰联盟胡建国mdashmdash越是新的东西,越需要经过市场的验证,能够经得起市场检验的才是合格的,才是成熟的。通常我们获取金融投资知识的途径有两种一是找到地图自己走,在市场上去交易去拼杀去亲沛县是哪个市(古代沛县是现在哪里)一概况沛县位于徐州市西北部,地处黄淮平原中部。东带微山湖昭阳两湖。东与微山县相邻西北与山东鱼台县接壤,西邻丰县南连铜山县。行政区域介于东经1164111709和北纬34273458眼霜有什么作用(眼霜内盖作用)眼霜是我们护肤的时候经常使用的一款眼部护理产品,大部分人使用眼霜的时间就是在我们皮肤出现老化的时候,但是其实我们可以提前使用预防老化,那么眼霜几岁开始用合适?眼霜几岁开始用合适十几板楼是什么意思(什么叫板楼和塔楼图片)最近有网友问到什么是板楼什么是塔楼,简单地讲,板楼就成一字型一字排开,塔楼就成品字形或者是工字形。板楼顾名思义就是像一块板子,我们现在看到的板楼,通常是一个或者两个电梯只有东西两户win7硬盘安装方法(win10无法安装gpt分区)Win10笔记本安装Win7完全指南虽说现在Win10系统已经逐渐取代Win7成为了主流,市面上第六代第七代Core平台笔记本也都全面预装Win10系统,但是并不是每个人都愿意使用