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中null是什么,以及使用中要注意的事项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
java null什么意思_浅谈java中null是什么,以及使用中要注意的事项相关推荐
- java 对象之间转换_浅谈java对象之间相互转化的多种方式
浅谈java对象之间相互转化的多种方式,对象,属性,参数,赋值,不支持 浅谈java对象之间相互转化的多种方式 易采站长站,站长之家为您整理了浅谈java对象之间相互转化的多种方式的相关内容. 第一种 ...
- java编程double相乘_浅谈Java double 相乘的结果偏差小问题
看下面的一段代码的运行结果: public class TestDouble { public static void main(String[] args) { double d =538.8; S ...
- java布尔类型比较器_浅谈Java中几种常见的比较器的实现方法
在java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用& ...
- java定义byte数组_浅谈java的byte数组的不同写法
(由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"byte数组"里面全部是&qu ...
- java变量命名规则_浅谈JAVA开发规范与开发细节(上)
开发团队在开发过程中,由于每个人的开发习惯,以及对于技术的理解深浅程度不一,往往一个项目在开发过程中,代码的质量,代码的风格都不尽相似,所以有一份适合团队的代码规范是非常有必要的,而一个团队的代码规范 ...
- java forkjoin 简书_浅谈Java的Fork/Join并发框架
1. Fork/Join是什么 Oracle的官方给出的定义是:Fork/Join框架是一个实现了ExecutorService接口的多线程处理器.它可以把一个大的任务划分为若干个小的任务并发执行,充 ...
- java string的作用_浅谈java String不可变的好处
一.java内部String类的实现: java 8: public final class String implements java.io.Serializable, Comparable, C ...
- java 初始化和清楚_浅谈Java中的初始化和清理
引言 这篇文章我们主要介绍Java初始化和清理的相关内容,这些内容虽然比较基础,但是还是在这边做一个简单的总结,方便以后查阅. 初始化过程 Java尽力保证:所有变量在使用之前都会得到恰当的初始化(对 ...
- java内存模型浅析_浅谈java内存模型
不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的.其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改.总结jav ...
最新文章
- android socket_盘点Android常用Hook技术
- 8个概念告诉你人工智能
- canvas 嵌套_canvas初探
- Coursera ML笔记 - 神经网络(Learning)
- 如何生成WebPart的部署文件(wsp文件)
- [学习笔记]带修改主席树
- [蓝桥杯][算法提高VIP]密码锁(BFS)
- informix如何查询第一条记录
- 《『若水新闻』客户端开发教程》——17.软件自动更新
- Vue.js 学习笔记 九 v-if和v-show
- Guacamole 是浏览器查看桌面的VNC
- oracle经纬度换算成xy坐标,xy坐标转换经纬度【处置步骤】
- lwj_C#_方法重载,递归,构造
- jQuery中siblings无效
- ubuntu Anaconda安装gi模块 ValueError: Namespace Gtk not available
- 【CO2二氧化碳传感器】senseair S8 LP
- wireshark抓取常用报文协议过滤法则大全
- maven项目源码下载
- 5分钟做一个php的增删改查案例
- [Javascript]:BOM对象详解和BOM与DOM的层次关系
热门文章
- 腾达n4怎么设置虚拟服务器,win10系统电脑设置腾达n4无线路由器的具体教程
- 算法手撕代码141~150
- torchtext常用函数整理
- 10、zuul 网关配置
- 基于货币供应量(M2)同比增长率序列的时间序列建模案例
- 27. Spark : org.apache.spark.sql.AnalysisException: Reference 'XXXX' is ambiguous
- 一般的ATAC-seq数据分析流程图
- dw如何设置html图片大小,Dreamweaver如何设置图像属性?DW设置图像属性方法介绍
- WebRTC实现网页版多人视频聊天室
- 云网融合相关研究现状