java后端需要注意的事项_【后端开发】Java中关于null的含义以及使用中要注意的事项...
下面小编就为大家带来一篇浅谈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的含义以及使用中要注意的事项...相关推荐
- java null什么意思_浅谈java中null是什么,以及使用中要注意的事项
1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...
- java c语言语法对比_c语言和java语法有区分吗?_后端开发
c言语和java语法有区分吗? c言语和java在语法上有区分,区分是: 1.C言语有指针,java没有指针: C言语的语法比较简单,然则它的亮点指针很轻易失足,想要好好的应用指针是件很难的事变,用好 ...
- java代码内创建mysql索引_点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)...
下载原版阿里JAVA开发手册 [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...
- java 电池类类代码举例_教案:Java第7章 类的方法
授课教师:牟勇 课时:100分钟 l 本章技能目标 n 会定义和使用类的方法 n 理解变量作用域 n 会创建包组织Java工程 n 会添加类方法的JavaDoc注释 n 会阅读JavaSE6文档 l ...
- Java每日一讲讲什么好_撩课-Java每天10道面试题第1天
1.简述JDK.JRE.JVM? 一.JDK JDK(Java Development Kit) 是整个JAVA的核心, 包括了Java运行环境(Java Runtime Envirnment), 一 ...
- java 用程序代码解释继承_关于初级java程序员笔试题
关于初级java程序员笔试题 Sun 认证Java程序员考试内容涉及Java所有相关知识.编程概念及applet开发技巧.下面是小编整理的关于初级java程序员笔试题,欢迎大家参考! 第一题:判断题 ...
- java程序的装载与检查_浅谈Java类型装载、连接与初始化
类型装载.连接与初始化 Java虚拟机通过装载.连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用.其中装载就是把二进制形式的Java class文件读入Java虚拟机中去;连接 ...
- java项目导入包报错_转!java web项目 build path 导入jar包,tomcat启动报错 找不到该类...
在eclipse集成tomcat开发java web项目时,引入的外部jar包,编译通过,但启动tomcat运行web时提示找不到jar包内的类,需要作如下配置,将jar包在部署到集成的tomcat环 ...
- java做日历怎么对齐日期_如何使用Java日历从日期中减去X天?
如何使用Java日历从日期中减去X天? 有人知道使用Java日历从日期中减去X天的简单方法吗? 我无法找到任何允许我直接从Java中的日期减去X天的函数. 有人能指出我正确的方向吗? 9个解决方案 2 ...
最新文章
- docker ps 只显示容器名称 显示列名
- MYSQL 定时自动执行任务
- vue value key
- android volume挂载流程,Android SDCard UnMounted 流程分析(一)
- arduino无源蜂鸣器歌曲编码_Arduino加无源蜂鸣器,播放音乐《葫芦娃》
- C++ primer 第7章 类
- python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库
- 远程计算机 函数不支持,win7远程桌面连接提示要求的函数不受支持怎么办
- mysql ext_RHEL5+postfix+mysql+extmai(源代码)(一)
- 计算机组成原理中移码怎么算,计算机组成原理中移码是怎么回事?
- Java-ArrayList.Itr类(Iterator的实现)
- 51单片机redefinition_lcd12864程序在keil中出现好多重新定义,尝试了很多办法都改不了,求助大家了...
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
- Ensemble_VEP--vcf文件注释
- 净初级生产力(NPP)空间分布数据汇总整理
- PAT A1002 A+B for Polynomials (25 分)
- 用python采集modbus_python modbus_tk库学习记录
- 浪潮之巅-读书笔记二
- 消费金融进入“第二赛段”,突围关键是什么?
- 0085 开头的电话拦截方法(小米手机有效)