码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA类型有基础变量类型、引用类型。

时间:2017-12-03 12:49:57      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:就是   引用类型   指针   cep   bool   判断   习惯   情况   poi   

null的问题:
JAVA类型有基础变量类型、引用类型。
这里写图片描述
(1)对基础变量类型,如果未经初始化JAVA会自动开辟空间并赋值。int、byte、short、long为0;float、double为0.0;boolean为false。
(2)对引用变量类型,JAVA同样会对未经初始化的变量自动赋值,为NULL。
(因为NULL指的是不确定对象,所以适用于引用类型,不适用于基础变量类型。)

再说NullPointerException异常
指针,就是java中的对象的引用。比如String a;这个a就是指针。
空指针NullPointer,指针的内容为空,比如指针a,如果令它指向null,就是空指针。
空指针异常NullPointerException,一个指针为NULL。本身对象就为空了,没有方法给你调用,你在使用该对象的方法,就强人所难了。再说未经初始化的变量JAVA会自动报错。比如String a=null,你还要用a的方法,比如a.equals( String x);那就会产生空指针异常。
项目中遇到很多了NullPointerException问题,大致一下集中情况:

(1)定义了一个对象引用,但是没有new 直接拿过来使用。比如String a = null,List list = null;
(2) 没有考虑是否为空,直接获取或者返回的对象为空。直接使用该对象。

空问题:
空值一般是指对象的参数值为空字符串,比如,obj.value=”;而null一般是指对象为空,即obj = null;

一个对象为null,肯定取不到它的所有参数值;若对象不为空,取到它的某个参数的值也可能为空的。
比如,


(2)整型Integer

if (id == null) {
throw new Exception("参数不能为空!");
这里我就习惯用了“”.quals(id)去判空,被team笑了小半年。整型不需要”“.equal(id),整型是不能为空的。项目中使用了Integer类型,Integer是包括基本类型int的包装类,不给赋值的时候为null。而int基本类型初始化是不为空的。两种情况加起来,integer只需要判断null值就可以。

(3)list类型不为空

if (CollectionUtils.isEmpty(list)) {
throw new Exception("参数异常!www.kaixinyle.com ");
源码:

public static boolean isEmpty(www.thylpt1.com Collection<?> collection) {
return (collection == null || collection.isEmpty());
}

public boolean isEmpty(www.2018yulpt.com) {
return size() == 0;
8
(3)map不为空

if (CollectionUtils.isEmpty(existMap)) {

}
if (existMap.isEmpty(www.yinfenyule.com )) {
//这种也会报错。
}

JAVA类型有基础变量类型、引用类型。

标签:就是   引用类型   指针   cep   bool   判断   习惯   情况   poi   

原文地址:http://www.cnblogs.com/wanmeiyule/p/7965708.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!