JAVA中isEmpty和null以及""的区别

简介:

这是一个比较容易混淆的概念,为了弄清楚这个问题,最好的方法当然是写程序来验证,上代码吧~~:

    /** 
     *  
     */  
    package JavaTest;  
      
    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是未分配内存空间,无值,是一种无值(值不存在)  





目录
相关文章
|
20天前
|
前端开发 JavaScript Java
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
|
2天前
|
JavaScript 前端开发 Java
Java和JavaScript区别与联系
Java和JavaScript区别与联系
7 0
|
6天前
|
Java 编译器
Java的重载与重写的区别
Java的重载与重写的区别
|
6天前
|
Java
Java的接口与抽象类的区别
Java的接口与抽象类的区别
|
8天前
|
C语言
C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别
C语言(9)----NULL、null(或者NUL)、\0、0、‘0’几者之间的区别
13 0
|
9天前
|
消息中间件 Java 调度
Java多线程基础-3:进程与线程间的区别的联系
进程是操作系统中运行的应用程序,具有独立内存空间,包含代码、数据和堆栈,是资源分配的最小单位,而线程是CPU调度的最小单位,是进程内的执行任务,多个线程可共享进程资源。
19 0
|
9天前
|
人工智能 Java 开发者
Python与Java:两大编程语言的联系与区别
Python与Java:两大编程语言的联系与区别
|
13天前
|
存储 安全 Java
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
20 0
|
13天前
|
缓存 安全 Java
Java的Integer和int有什么区别?
Java的Integer和int有什么区别?
12 1
|
14天前
|
Java
【JAVA学习之路 | 基础篇】==与equals方法的区别
【JAVA学习之路 | 基础篇】==与equals方法的区别