1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如:

Integer i=null;

Float f=null;

String s=null;

但是不能把null赋值给基本类型,如int ,float,double等

int k=null ----------编译器会报错cannot convert from null to int

2.null是关键字,像public、static、final。它是大小写敏感的,你不能将null写成Null或NULL,否则编译器会报错

3.包含null值的包装类在Java拆箱生成基本数据类型时候都会抛出一个空指针异常

例如:

Integer i=null;

int k=i;---------------------------抛出java.lang.NullPointerException

4.在遍历集合或者数组的时候需要添加null判断,不然当集合或者数组中包含null时,会抛出异常

5.在使用equals判断字符串是否相等时,要将常量字符串放在equals的左边,防止空指针异常

例如:

String[] arr1={"abc","123",null,"sky"};

for (String s1 : arr1) {

boolean flag=s1.equals("sky");

}

------------当取值到是=null时,会抛出空指针异常,把s1.equals("sky")改为“sky”.equals(s1),就可以避免抛出异常

6.空字符串与null区别

类型

null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;

""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ;

内存分配

String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;

String str = ""; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;

在java中变量和引用变量是存在栈中(stack),而对象(new产生的)都是存放在堆中(heap):

以上这篇浅谈java中null是什么,以及使用中要注意的事项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java null什么意思_浅谈java中null是什么,以及使用中要注意的事项相关推荐

  1. java 对象之间转换_浅谈java对象之间相互转化的多种方式

    浅谈java对象之间相互转化的多种方式,对象,属性,参数,赋值,不支持 浅谈java对象之间相互转化的多种方式 易采站长站,站长之家为您整理了浅谈java对象之间相互转化的多种方式的相关内容. 第一种 ...

  2. java编程double相乘_浅谈Java double 相乘的结果偏差小问题

    看下面的一段代码的运行结果: public class TestDouble { public static void main(String[] args) { double d =538.8; S ...

  3. java布尔类型比较器_浅谈Java中几种常见的比较器的实现方法

    在java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用& ...

  4. java定义byte数组_浅谈java的byte数组的不同写法

    (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...

  5. java变量命名规则_浅谈JAVA开发规范与开发细节(上)

    开发团队在开发过程中,由于每个人的开发习惯,以及对于技术的理解深浅程度不一,往往一个项目在开发过程中,代码的质量,代码的风格都不尽相似,所以有一份适合团队的代码规范是非常有必要的,而一个团队的代码规范 ...

  6. java forkjoin 简书_浅谈Java的Fork/Join并发框架

    1. Fork/Join是什么 Oracle的官方给出的定义是:Fork/Join框架是一个实现了ExecutorService接口的多线程处理器.它可以把一个大的任务划分为若干个小的任务并发执行,充 ...

  7. java string的作用_浅谈java String不可变的好处

    一.java内部String类的实现: java 8: public final class String implements java.io.Serializable, Comparable, C ...

  8. java 初始化和清楚_浅谈Java中的初始化和清理

    引言 这篇文章我们主要介绍Java初始化和清理的相关内容,这些内容虽然比较基础,但是还是在这边做一个简单的总结,方便以后查阅. 初始化过程 Java尽力保证:所有变量在使用之前都会得到恰当的初始化(对 ...

  9. java内存模型浅析_浅谈java内存模型

    不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的.其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改.总结jav ...

最新文章

  1. android socket_盘点Android常用Hook技术
  2. 8个概念告诉你人工智能
  3. canvas 嵌套_canvas初探
  4. Coursera ML笔记 - 神经网络(Learning)
  5. 如何生成WebPart的部署文件(wsp文件)
  6. [学习笔记]带修改主席树
  7. [蓝桥杯][算法提高VIP]密码锁(BFS)
  8. informix如何查询第一条记录
  9. 《『若水新闻』客户端开发教程》——17.软件自动更新
  10. Vue.js 学习笔记 九 v-if和v-show
  11. Guacamole 是浏览器查看桌面的VNC
  12. oracle经纬度换算成xy坐标,xy坐标转换经纬度【处置步骤】
  13. lwj_C#_方法重载,递归,构造
  14. jQuery中siblings无效
  15. ubuntu Anaconda安装gi模块 ValueError: Namespace Gtk not available
  16. 【CO2二氧化碳传感器】senseair S8 LP
  17. wireshark抓取常用报文协议过滤法则大全
  18. maven项目源码下载
  19. 5分钟做一个php的增删改查案例
  20. [Javascript]:BOM对象详解和BOM与DOM的层次关系

热门文章

  1. 腾达n4怎么设置虚拟服务器,win10系统电脑设置腾达n4无线路由器的具体教程
  2. 算法手撕代码141~150
  3. torchtext常用函数整理
  4. 10、zuul 网关配置
  5. 基于货币供应量(M2)同比增长率序列的时间序列建模案例
  6. 27. Spark : org.apache.spark.sql.AnalysisException: Reference 'XXXX' is ambiguous
  7. 一般的ATAC-seq数据分析流程图
  8. dw如何设置html图片大小,Dreamweaver如何设置图像属性?DW设置图像属性方法介绍
  9. WebRTC实现网页版多人视频聊天室
  10. 云网融合相关研究现状