版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80215947
isEmpty和null的区别:
1.一个是对象为空(IsNull),一个是值为空(IsEmpty)
2.IsNull指任务类型变量是否为空包括对象类型的变量。
IsNull函数:
功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。
3.IsEmpty函数:
功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则函数返回False。
- /**
- *
- */
- package JavaTest;
- /**
- * @author wxwevenpc
- * @version 1.0 2012-11-25
- */
- public class TestNull {
- /**
- * @param args
- */
- public static void main(String[] args) {
- String a = new String();
- String b = "";
- String c = null;
- if(a.isEmpty())
- {
- System.out.println("String a = new String");
- }
- if(b.isEmpty())
- {
- System.out.println("String b = \"\"");
- }
- if(c==null)
- {
- System.out.println("String c =null");
- }
- if(null == a) {
- System.out.println("String a =null");
- }
- if(a=="")
- {
- System.out.println("a = ''");
- }
- }
- }
以上输出:
- String a = new String
- String b = ""
- String c =null
分析:
- 此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已)
- 此时b是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串)
- 此时c是未分配内存空间,无值,是一种无值(值不存在)