下面小编就为大家带来一篇浅谈java中null是什么,以及使用中要注意的事项。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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后端需要注意的事项_【后端开发】Java中关于null的含义以及使用中要注意的事项...相关推荐

  1. java null什么意思_浅谈java中null是什么,以及使用中要注意的事项

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

  2. java c语言语法对比_c语言和java语法有区分吗?_后端开发

    c言语和java语法有区分吗? c言语和java在语法上有区分,区分是: 1.C言语有指针,java没有指针: C言语的语法比较简单,然则它的亮点指针很轻易失足,想要好好的应用指针是件很难的事变,用好 ...

  3. java代码内创建mysql索引_点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)...

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...

  4. java 电池类类代码举例_教案:Java第7章 类的方法

    授课教师:牟勇 课时:100分钟 l 本章技能目标 n 会定义和使用类的方法 n 理解变量作用域 n 会创建包组织Java工程 n 会添加类方法的JavaDoc注释 n 会阅读JavaSE6文档 l ...

  5. Java每日一讲讲什么好_撩课-Java每天10道面试题第1天

    1.简述JDK.JRE.JVM? 一.JDK JDK(Java Development Kit) 是整个JAVA的核心, 包括了Java运行环境(Java Runtime Envirnment), 一 ...

  6. java 用程序代码解释继承_关于初级java程序员笔试题

    关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...

  7. java程序的装载与检查_浅谈Java类型装载、连接与初始化

    类型装载.连接与初始化 Java虚拟机通过装载.连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用.其中装载就是把二进制形式的Java class文件读入Java虚拟机中去;连接 ...

  8. java项目导入包报错_转!java web项目 build path 导入jar包,tomcat启动报错 找不到该类...

    在eclipse集成tomcat开发java web项目时,引入的外部jar包,编译通过,但启动tomcat运行web时提示找不到jar包内的类,需要作如下配置,将jar包在部署到集成的tomcat环 ...

  9. java做日历怎么对齐日期_如何使用Java日历从日期中减去X天?

    如何使用Java日历从日期中减去X天? 有人知道使用Java日历从日期中减去X天的简单方法吗? 我无法找到任何允许我直接从Java中的日期减去X天的函数. 有人能指出我正确的方向吗? 9个解决方案 2 ...

最新文章

  1. docker ps 只显示容器名称 显示列名
  2. MYSQL 定时自动执行任务
  3. vue value key
  4. android volume挂载流程,Android SDCard UnMounted 流程分析(一)
  5. arduino无源蜂鸣器歌曲编码_Arduino加无源蜂鸣器,播放音乐《葫芦娃》
  6. C++ primer 第7章 类
  7. python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库
  8. 远程计算机 函数不支持,win7远程桌面连接提示要求的函数不受支持怎么办
  9. mysql ext_RHEL5+postfix+mysql+extmai(源代码)(一)
  10. 计算机组成原理中移码怎么算,计算机组成原理中移码是怎么回事?
  11. Java-ArrayList.Itr类(Iterator的实现)
  12. 51单片机redefinition_lcd12864程序在keil中出现好多重新定义,尝试了很多办法都改不了,求助大家了...
  13. Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
  14. Ensemble_VEP--vcf文件注释
  15. 净初级生产力(NPP)空间分布数据汇总整理
  16. PAT A1002 A+B for Polynomials (25 分)
  17. 用python采集modbus_python modbus_tk库学习记录
  18. 浪潮之巅-读书笔记二
  19. 消费金融进入“第二赛段”,突围关键是什么?
  20. 0085 开头的电话拦截方法(小米手机有效)

热门文章

  1. 关于Unity中Mesh网格的详解
  2. 《C程序设计新思维》一第6章 玩转指针6.1 自动、静态和手工内存
  3. ps-色彩饱和度的设计
  4. 使用Spark Streaming进行情感分析
  5. springMvc整合hibernate出现问题
  6. [转帖]漫画趣解Linux内核
  7. C++ const用法
  8. 学习CGI之前,需要配置阿帕奇---windows
  9. Paramiko模块(堡垒机)
  10. 如何关闭139端口及445端口等危险端口