精华内容
下载资源
问答
  • java中的null的剖析

    千次阅读 2013-06-15 00:47:26
    (一) java中的null的学问剖析 一、null是代表不确定的对象  Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。  但null值可以强制转换...

    PS: 

         判断对象是否等于null,if( null == 对象|| 对象.变量.equals(""))

         判断字符串是否为空的三种方法: if(null==str||str.length()==0) (首选)
                                                                if(null==str|| str.equals(“”));                           

                                                                if(null==str||str.isEmpty());

    (一) java中的null的学问剖析

    一、null是代表不确定的对象 

         Java中,null是一个关键字,用来标识一个不确定的对象。

                      因此可以将null赋给引用类型变量,表示该引用变量没有引用任何对象。  但不可以将null赋给基本类型变量。 

                  但null值可以强制转换为任何java类类型。


    比如:int a = null;是错误的。Ojbect o = null是正确的。 

    Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量也是适用的。 

    有时候,我们定义一个引用类型变量,在刚开始的时候,无法给出一个确定的值,但是不指定值,程序可能会在try语句块中初始化值。这时候,我们下面使用变量的时候就会报错。这时候,可以先给变量指定一个null值,问题就解决了。例如:   
    Java code 
    Connection conn = null;        
          try {            
                 conn = DriverManager.getConnection("url", "user", "password");        
               } catch (SQLException e) { 
                         e.printStackTrace();        
              }        
              String catalog = conn.getCatalog(); 



    如果刚开始的时候不指定conn = null,则最后一句就会报错。 

    二、null本身不是对象,也不是Objcet的实例。null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是java.lang.Object的实例。可以做一个简单的例子:   


    //null是对象吗? 属于Object类型吗?   
    Java code 
          if (null instanceof java.lang.Object) {            
          System.out.println("null属于java.lang.Object类型");  
          } else {            
              System.out.println("null不属于java.lang.Object类型"); 
          } 


    结果会输出:null不属于java.lang.Object类型 

    三、Java默认给变量赋值 


      在Java的类中(j见thinking in java),定义变量的时候,如果定义后没有给变量赋值,则Java在运行时会自动给变量赋值。赋值原则是整数类型int、byte、short、long的自动赋值为0,带小数点的float、double自动赋值为0.0,boolean的自动赋值为false,其他各供引用类型变量自动赋值为null。 
    这个具体可以通过调试来看。 

    四、容器类型与null 


        List:允许重复元素,可以加入任意多个null。

        Set:不允许重复元素,最多可以加入一个null。

        Map:Map的key最多可以加入一个null,value字段没有限制。

        数组:基本类型数组,定义后,如果不给定初始值,则java运行时会自动给定值。

                   引用类型数组,不给定初始值,则所有的元素值为null。 


    五、null的其他作用 


    1、判断一个引用类型数据是否null。 用==来判断。 

    2、释放内存,让一个非null的引用类型变量指向null。这样这个对象就不再被任何对象应用了。等待JVM垃圾回收机制去回收。 


    六、JAVA中null,"",equals,==相互之间使用详解(判断引用类型是否为null,最好用==


      1、      equals只是比较值是否相同 ,Hashcode是看这两个变量是不是引用的同一个地址

      2 、     ==则是比较两个变量 是不是同一个变量,也应时是说 要看看这两个变量是不是引用的同一个地址。java 中只有引用地址相同的两个变量才被视为== 


    如果明白值传递与地址传递的话,这个问题应该不难理解 

     <a href="http://blog.csdn.net/wenzhibinbin_pt/article/details/8940271">Java中 hashCode-equals的完全理解</a>

     3、a==null与 null==a 

       null放在前面就是为了避免变量为空时 引了空指针异常 
       如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了 

    if(str==null||str.equals("")){ 
    return 0; 
    因为在java里,String是一个对象,如果对象不存在,就返回0,或对象存在,但包含的字符为"",也返回0,上面那if就是这个意思了。 

    我遇到过一种情况,就是从后台String xsvinm = (String) request.getParameter("xsvinm"); 

    如果,xsvinm 为空,就是没有值,注意不是为“”那传到前台页面,xsvinm="null", 

    则 

    xsvinm==null 是false , 

    xsvinm.equals("null") 是true 

    注意 xsvinm.equals(" ") 是false 

    七、String 类 中 : ==、equals、null (String中判断来个字符串是否相等,首推用equals

                                                                                              (    基本类型判断是否相等,首先用==                     

    1、String 的==与equal() 

    在对字符串的相等判断,==判断的是地址是否相同,equal()判断的是字符值是否相同。大多数时候==跟equal()的结果都是相同的。这是因为String对象是不变模式的,如果你不是明确地new一个String对象,Java对于String对象的保存默认的是会把新生成的String 对象放到一个缓冲区,然后每次判断缓冲区中是否已经有了这个对象,如果有了,那么后建立的同样字符值的String对象也会指向最初建立是该字符值对象的地址。也就是说字符值相同的时候,大多数情况下地质也是相同的。==与equal()效果是相同的。但是当对象是str = new String(“abc”)生成的而不是直接str = “abc”这样赋值生成,或者经过了一些字符串连接处理,或者通过StringBuffer等对象生成,都会在内存中开辟新的地址的这个时候==和 equal()结果是不同的。 

    是不是稍微有些复杂?这里需要一些关于内存,堆栈,对象保存方面的理解。我不想纠缠于这个问题的讨论。如果不能理解,那么只要记住如果你想要判断两个字符串的字符值是否相等,没有别的要求的时候,那么请使用equal()而不是==,至于什么时候需要使用==,我想当你需要的时候,你自然就会明白了。实际上,对于字符串的判断,我们很少需要用==的。 

         

       ==是用来判断对象句柄地址的。说明s还未定义内容。此时,谈不上是否为空。     
          equal是用来判断句柄内容的。   
       “ ==” 想要实现equal的效果可以使用这样 :   s.intern=="".intern


    2、关于str.equal(“abc”)和”abc”.equal(str) 


    这个好像争论也挺多的,第一种常量写在后面可能符合大多数人的习惯,也符合我们的逻辑思维。但是需要多一个str是否为null的判断。否则这里是有可能出现异常的。而后一种写法不需要多做关于是否为null这个判断。就我个人喜好来说,比较喜欢后一种写法。 

    3、关于String的null 

    /** 
    * 测试java的String为null 的情况 
    * create date:2009-6-3 
    * author:Administrator 

    */ 
    public static void testNull(){ 
    String a= null,b = null,c="呵呵"; 
    System.out.println(a == null); 
    System.out.println(a+b+c); 

    方法运行结果: 
    true 
    nullnull呵呵 
    所以大家要注意了做字符串合并操作时,别忘记判断null,否则结果会不太让你爽啊 

    八、null使用学问 

    &&短路:deptid!=null&&!deptid.equals(""))默认分类 2006-08-30 11:29:48 阅读1 评论0   字号:大中小 订阅 . 

    情况: 
    这样写就不会出错!: 
    String deptid = (String) ctx.getParameterMap().get("deptId"); 
    if(deptid!=null&&!deptid.equals(""))//如果有动态选择部门 

    这样写就会出错!: 
    String deptid = (String) ctx.getParameterMap().get("deptId"); 
    if(!deptid.equals("")&&deptid!=null)//如果有动态选择部门 

    原因分析:因为&&会短路,当deptid为null时,首先遇到deptid!=null的判断是可以比较的,但是如果是先遇到 
    deptid.equals(""),则不能比较,便会出错! 

    解决: 
         所以以后要先判断取得的值deptid ,到底是可以和哪个比较,就把哪个放在最前面,只有当前面哪个通过了,才会检测第二个! 
    通常写法:把deptid!=null放置最前面,先判断其是否为对象,然后如果是对象了才能比较其内容, 

    即!deptid.equals("")!

    九 Java中判断String为空的三种方法:    

    str==null   ||   str.equals(""))    (注意顺序)
      再澄清一个概念:   
        如果str==null说明str还未定义内容。此时,谈不上是否为空。     str="",说明str是个空字符串。只不过长度为0。

    ------------------------------------------------------------------------------------------------------

    String   s;   
      ...   
      if(s==null)   
      {   
        //为null;   
      }   
      if   (s.equals(""))   
      {   
      //为空字符串;   
      }   
      if   (s.length()==0)   
      {   
      //为空字符串;   
      }   
      ==是用来判断对象句柄地址的。说明s还未定义内容。此时,谈不上是否为空。     
      equal是用来判断句柄内容的。   
     “ ==” 想要实现equal的效果可以使用这样 :   s.intern=="".intern

      ------------------------------------------------------------------------------------------------------

        总结起来: 

       法一: (s==null|| s.equals(""))
       法二: (s==null|| s.length()==0)
       法三: (s==null || s.isEmpty()) 


    方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.
    方法三: Java SE 6.0 才开始提供的方法, 效率和方法二几乎相等, 但出于兼容性考虑, 推荐使用方法二.

    方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.


    (二)  Java中对应 if(true==a) 和 if(a==true) 区别的代表性回复

    对于Java,两种书写方式都是不推荐的,sun编码规范里 if (condition) { statements; } 以及 while (condition) { statements; } 才是标准的书写方式, 另外尽可能少的使用Boolean.在大多数情况下boolean基本类型就足够.如果一定要使用Boolean,那么请注意初始值和空值问题. 一旦Boolean型对象的值为null,三种书写方式都会抛出NullPointerException.实际上某猫工作一年多,从没碰上必须使用Boolean的情况,假如碰上了,请注意if( a!=null && a ),并且针对null做处理. Java和js以及c++不同,在js和c++里任何值都可以做条件表达式的结果,哪怕是undefined. 但是Java的语法严格限制:条件表达式的结果必须是true或者false,因此没必要加上==ture,==false的判断. 在推荐贴if(true==a) 和 if(a==true) 的区别里,很多回复的朋友都没有注意遵循通常的编码规范,所以单发这一贴说明一下. 这是个人的理解,以交流为目的,不是高考标答,也许会有错误,如果有说错的地方欢迎大家指出.
     
    这里选了一些有代表性的回复:
    1.if(true==a)是两个变量之间的比较,if(a==true)是变量a是否为真的判断!不知这样说可否.. true是关键字,不是变量,不存在"两个变量"
     
    2.根据java代码的编写规则 是不允许写if(a==true)这样的代码的。Java中Boolean值的判定

             正确:if(a) or if(!a). 编码规范都推荐的if(a)或者if(!a)的方式,无论是sun还是IBM
     

    3.以我在项目中经验,这两个区别我们在项目中推荐使用true==a,是为了防止有人漏写一个=号,做这种判断时定值放在前面少写=号会报编译错,而反过来写就不会,导致结果出错后还不容易调试出来。 老大要是看到某在公司里这么写Java代码,就离裁员不远了
     
    4.效果上没区别 只是 a==true, 常会被误写成 a=true (赋值表达式),从而导致bug,并且不容易看出来 所以一般写程序的时候,是把常量写在前面的, 即 true==a 如果错写成true=a(赋值表达式)的话,是编译不过的 只是利用编译器,避免一些低级bug而已 写为if(a)就不会漏写=了---压根不去写它,当然不会写漏.如果是其他类型比较,比如a是一个int,错写为if(a=1)会因为值不为布尔类型而无法通过编译.
     
    5.一般来说 a ==b 和b==a 结果程序肯定会认为是一致的 这个要求用户自己实现objet父类中的equals方法 而这个方法要求用户实现时必须满足等价关系,这个属于等价关系中的 自反性 ==比较与任何方法或对象无关,它是由JVM完成的,注意不要和equals之类的方法调用混淆了
     
    6.我也是慢慢地习惯"abc"==a 这种写法了,字符串内容比较请使用equals
     
    7.在写代码的时候为了避免手误,把“==”(判等)敲成“=”(赋值)引起错误,推荐采用 if(常量 == 变量) 的模式。 但这个模式一般不用在 java 中,而是在 C++ 或 c 中。因为 java 中如果用IDE的话,会直接给出提示,没有用IDE也会在编译时报错。 非常同意喵.Java的使用者也许对c++陌生,但是js应该熟悉吧,js里使用if(true==a)或者if(true===a).这个习惯貌来自c,不过对于Java,if(a)足够了
     
    8.尚学堂在讲这个问题的时候的确讲的是对的,楼主不去听听看看,就胡下定论。记住:科学是严谨的,就算有培训的地方有错误也很是正常,如果没错误,还要我们这些程序员干嘛! sxt没看过,但是同意"记住:"之后的话,不但是培训,百度,论坛,blog,甚至文档里都可能有错.幸可音佳娃一文刚面世,被网络上的朋友挖出了一摩尔的bug,用作者的话就是"指出了许多文章中的问题
     
    9.if(true==a)有时候这种判断之所以把变量放后面是为了防止空指针异常,因为如果a为null的话把a放前面就会报空指针异常,而放后面不会。代码是从前往后执行的 假如a为Boolean类型并且值为null,那么就算竖着写也避免不了NullPointerException,必须写为if( a!=null && a ),所以Boolean包装类极为少见
     
    10.我认为还是有区别的,就像 if(null!=a){}和if(a!=null){} 这个真没什么区别.如果a是基本类型,两种顺序都通不过编译,如果a是对象,两种顺序都不影响结果

    参考:

      1 http://quningstudy.iteye.com/blog/983534

     2 http://blog.csdn.net/easonx1990/article/details/7887951

    展开全文
  • java中的null类型---有关null的9件事

    万次阅读 多人点赞 2018-05-03 19:32:57
    今天听到一个问题,java中的null类型,null竟然是一种类型 java语言中有两种类型,一种是基本类型,还有一种是引用类型。还有一个特殊的null类型即表达式null的类型,它没有名字。 因为null类型没有名字,所以不...

            今天听到一个问题,java中的null类型,null竟然是一种类型

               java语言中有两种类型,一种是基本类型,还有一种是引用类型。还有一个特殊的null类型即表达式null的类型,它没有名字。

                因为null类型没有名字,所以不可能声明为null类型的变量或者转换为null类型。

                null引用是null类型表达式唯一可能的值。

                null引用可以转换为任意引用类型。

                实际上,程序员可以忽略null类型,可以认为null仅仅是一个可以称为任何引用类型的特殊符号。

                一个null类型(null(空)引用是这种类型的唯一的一个值),可以赋值给任意类型,将返回一个该类型对象的空引用(其实还是null)。


                对于java程序员来说,null是令人头痛的东西。时常会受到空指针异常的骚扰。所以要好好了解一下null,确保正确使用null。

            关于null的9件事

        1)    首先,null是java中的关键字,像public、static、final。它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别他们然后报错。

                   现在,当你在敲代码的时候,IDE可以纠正这个错误。

        2)     就像每种原始类型都有默认值一样,int默认值为0,boolean的默认值为false,null是任何引用类型的默认值,不严格的说是所有object类型的默认值。就像你创建了一个布尔类型的变量,它将false作为自己的默认值,java中的任何引用变量都将null作为默认值。这对所有变量都是适用的,如成员变量、局部变量、实例变量、静态变量(但当你使用一个没有初始化的局部变量,编译器会警告你)。


            这对静态和非静态的object来说都是正确的。就像你在这里看到的这样,myObj定义为静态引用,所以可以在主方法里直接使用它。注意:主方法是静态方法,不可使用非静态变量。

            3)     要澄清一些误解,null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,


            可以看到idea并没有报错,可以正常编译。在编译和运行时期,将null强制转换成任何引用类型都是可行的,在运行时期都不会抛出空指针异常。

            4)    null可以赋值给引用变量,不能将null赋值给基本类型变量,如int、double、float、boolean。

            可以看到,直接将null赋值给基本类型会出现编译错误。但将null赋值给包装类object,然后将object赋给各自的基本类型,编译不会报错,但运行会空指针,这是自动拆箱导致的。

            5)    任何含有null值的包装类在java拆箱生成基本数据类型时候都会抛出一个空指针异常。

                        

                       这段代码看起来非常简单并且没有错误。你所做的一切是找到一个数字在数组中出现了多少次, 这是Java数组中典型的寻找重复的技术。开发者首先得到以前的数值,然后再加一,最后把值放回Map里。程序员可能会以为,调用put方法时,自动装箱会自己处理好将int装箱成Interger,但是他忘记了当一个数字没有计数值的时候,HashMap的get()方法将会返回null,而不是0,因为Integer的默认值是null而不是0。当把null值传递给一个int型变量的时候自动装箱将会返回空指针异常。设想一下,如果这段代码在一个if嵌套里,没有在测试环境下运行,但是你一旦放在生产环境里,BOOM:-),是不是美兹兹。

                    6)     如果使用了带有null值的引用类型的变量,instanceof操作会返回false

                        

                        这是instanceof操作一个很重要的特性,使得对强制类型转换检查很有用

                        7)    可以使用静态方法来使用一个值为null的引用类型变量。因为静态方法使用静态类型绑定,不会抛空指针异常

                           

                          8)        可以将null传递给方法使用,这时方法可以接收任何引用类型,如 public void print(Object obj) 可以这样调用print(null).编译可以通过,但结果就取决去你的方法了。这个例子中的print方法,不会抛出空指针异常,只是退出,业务逻辑允许的话,推荐使用null安全的方法。

                        9)    可以使用== 或者 != 操作来比较null值,但是不能使用其他算法或者逻辑操作,如大于、小于。与SQL不同,java中的null==null会返回true;

                    



                     避免空指针异常可以使你的代码变的null安全。

                     敲黑板,划重点!!!!——————>null是任何一个引用类型变量的默认值,在java中不能使用null引用来调用任何instance方法或者instance变量。

    展开全文
  • Java中的null布局

    千次阅读 2014-05-12 20:04:08
    Java中的null布局,就是没有布局,或称空布局。 null布局和Component类的setBounds方法结合使用,便可以进行这种不受限制的布局。 进行null布局,setBounds方法是关键,其函数如下: public void setBounds(int x,...

    Java中的null布局,就是没有布局,或称空布局。

    null布局和Component类的setBounds方法结合使用,便可以进行这种不受限制的布局。

    进行null布局,setBounds方法是关键,其函数如下:

    public void setBounds(int x,int y,int width,int height)

      其中x、y表示组件右上角坐标,width、height分别表示组件的宽和高,单位为像素。

    案例如下:

    package lay;

    import java.awt.*;
    import java.awt.event.*;

    public class layoutnull extends Frame
    {
     Panel pnl;
     Button button1,button2,button3,button4;
     layoutnull()
     {
      super("Frame with null Layout");
      setSize(300,250);

      setVisible(true);
              setLayout(null);//创建一个null布局
      pnl=new Panel(); //创建面板pn1
      pnl.setBackground(Color.blue);
      add(pnl); //添加面板
      button1=new Button("按钮1");//创建按钮button1
      button2=new Button("按钮2");
      button3=new Button("按钮3");
      button4=new Button("按钮4");
      add(button1); //添加按钮button1
      add(button2);
      add(button3);
      add(button4);
      pnl.setBounds(20,40,200,190); //面板pn1的左上角坐标为(20,40),宽为200像素,高为190像素
      button1.setBounds(230,60,50,30); //按钮button1的左上角坐标为(230,60),宽为50像素,高为30像素
      button2.setBounds(230,100,50,30);
      button3.setBounds(230,140,50,30);
      button4.setBounds(230,180,50,30);
      addWindowListener(
       new WindowAdapter(){   
        public void windowClosing(WindowEvent e){
         setVisible(false);
         System.exit(0);}});
     }

     public static void main(String args[])
     {
      layoutnull frm=new layoutnull();//创建一个layoutnull的布局对象frm
     }
    }

     -------------------------------------------------------------------------------------------------------

    结果如下:

     

    展开全文
  • 1.nullJava中的关键字。它是区分大小写的,如果把null大写成Null或者NULL,会自动报错。 2.null ==> 0x0 表示内存中编号为0的地址 该地址受到系统保护,任何程序读取,写入0x0地址,系统直接杀死程序 3.一般...

    null到底是什么?

    1.null是Java中的关键字。它是区分大小写的,如果把null大写成Null或者NULL,会自动报错。

    2.null ==> 0x0 表示内存中编号为0的地址
    该地址受到系统保护,任何程序读取,写入0x0地址,系统直接杀死程序

    3.一般用于在开发中初始化引用数据类型的变量,利用null报错。NullPointerException

    4.null是一种特殊的值,可以把null赋予任何引用类型,也可以把null转化成任何类型。但是仅仅限于引用类型,不包括基本数据类型。

    展开全文
  • java中的null判断

    2019-05-24 15:49:00
    我们在做if判断时候,经常会对null或者""进行判定,此时正确写法为: if (procResult == null || "".equals( procResult ) || procResult.equals( "{\"Result\":\"R\"}" ))  说明如下: (1)这种...
  • java中的null串问题?

    2015-09-13 08:24:57
    java中,空串是指有实例对象,内容为空,而null串则是还没有相应对象与其关联,我们知道对象分配在堆中,而对象引用是在栈中分配,所以null串还没有对象(即堆中没有对象),但是却这个引用却在栈中分配了,我...
  • 实例说明Java中的null

    千次阅读 2013-12-13 11:13:06
    exactly is null in Java? 让我们先来看下面语句: String x = null;1. 这个语句到底做了些什么?  让我们回顾一下什么是变量,什么是变量值。一个常见比喻是 变量相当于一个盒子。如同可以使用盒子来储存物品...
  • Java中的Null以及空指针异常

    千次阅读 2018-07-28 09:52:55
    Java中的变量分为两类,基本变量和引用变量。 如果是成员变量,在创建类的时候,所有成员变量会被赋予默认值。int的默认值是0,boolean的默认值是false,而所有引用变量的默认值则是null。 Java是面向对象的,在...
  • Java中的Null是什么?

    千次阅读 2017-09-01 23:42:12
    1)首先,null是关键字,像public、static、final。它是大小写敏感,你不能将null写成NullNULL,编译器将不能识别它们然后报错。...就像你创建了一个布尔类型变量,它将false作为自己默认值,Java
  • Java中的null和初始化

    2018-10-19 08:41:40
    最近在学习Java8的过程中,在写行为参数化以及lambad表达式的例子中,一个将数组中的偶数输出保存到一个ArrayList中,出现的问题? 具体代码如下: package com.dong.java8; import java.util.ArrayList;   ...
  • 注意:Java中的null对象也可以访问static成员。不过虽然这样的做法没错,却不值得提倡,因为有时会给人带来困扰,我自己在走读代码时就经历过...
  • 让我们从下面陈述开始: String x=null; 1. 这句话到底是什么意思? 回想一下什么是变量,...Java中有两大类类型:原语类型和引用类型。 声明为基元类型变量存储值;引用类型声明变量存储引用。 在这种情...
  • 严格讲既不是基础类型也不是对象类型,是一个特殊类型,并可以看作允许cast成任意类型对象。 There is also a special null type, the type of the expression null, which has no name. Because the null ...
  • 你真的理解java中的null“类型”吗?

    万次阅读 2017-06-07 10:06:17
    本文先给出一道简单的null相关的题目,引发我们对null的探讨,后面会根据官方语言手册对null“类型”进行解读。 题目:下面程序能正确运行吗? 解析:输出应该为 :haha 因为null 是可以强转为任何类...
  • Java中的null究竟是什么?

    千次阅读 2017-02-26 18:54:46
    让我们从下面声明开始吧:String x = null;...Java中有两种主要类型:基本数据类型和引用类型。变量就可以声明为基本数据类型也可以声明为引用类型。在这种情况下,初始化声明声明了一个变量”X”,“X”
  • java中除基本类型外,参数都是引用传递。但是,有一个例外,就是当实参为null时,其实,它依然是一个值传递。 转载于:https://www.cnblogs.com/jzsg/p/11308627.html...
  • java中的null与空值

    千次阅读 2012-06-18 10:21:15
    null或空值判断处理-java 1,错误用法一: if (name == "") {  //do something } 2,错误用法二: if (name.equals("")) {  //do something } 3,错误用法三: if (!name.equals("")) {  //...
  • Java中的null到底是啥?

    千次阅读 2013-12-28 04:48:30
    我们从下面这个简单语句说起: String x = null; 这行代码做了什么? 先回想一下什么叫做变量(variable),...在Java中,有2种主要数据类型:基本数据类型和引用类型。定义成基本数据类型变量用来保存值,而定
  • String s=null;//null是未分配堆内存空间 String a;//分配了一个内存空间,没存入任何对象 String a="";//分配了一个内存空间,存了一个字符串对象
  • [color=#FF0000]nullJava中的关键字,像public、static、final。它是大小写敏感的,你不能将null写成NullNULL,编译器将不能识别它们然后报错[/color] Object obj = NULL; // Not Ok Object obj1 = null //Ok ...
  • JAVA 有关Null的9件事

    2017-06-08 10:49:31
    Java中的Null是什么?正如我说过的那样,null是Java中一个很重要的概念。null设计初衷是为了表示一些缺失的东西,例如缺失的用户、资源或其他东西。但是,一年后,令人头疼的空指针异常给Java程序员带来不少的骚扰。...
  • Java中关于Null的9个解释(Java Null详解)

    千次阅读 2017-09-21 11:04:04
    对于Java程序员来说,null是令人头痛东西。时常会受到空指针异常(NPE)骚扰。连Java的发明者都承认这是他一项巨大失误。Java为什么要保留null呢?null出现有一段时间了,并且我认为Java发明者知道null与它...
  • Java中有关null的9件事

    2017-04-28 11:11:18
    Java中有关null的9件事
  • Java中有关Null的9件事

    千次阅读 2015-07-17 11:10:14
    作为java程序员,对于null,我觉得必须还是要懂一点 ...对于Java程序员来说,null...null出现有一段时间了,并且我认为Java发明者知道null与它解决问题相比带来了更多麻烦,但是null仍然陪伴着Java。 我越
  • java中null处理

    千次阅读 2016-04-01 10:31:25
    java中 null+"a" =nulla; 很诡异问题 网上查了查 ,一些懂得java源码大神给了些解释; 这不是JVM作用是Java编译器把这段重构了,反编译一下就看得出是  new java.lang.StringBuilder [16]  ...
  • Java中null与数据库的NULL的认识

    千次阅读 2014-04-28 14:13:29
    java和数据库中nullNULL的认识 ...java中null表示类或对象变量是空,不代表任何对象或实例,可以将null赋给引用类型变量,但不可以将null赋给基本类型变量;任何对象在没有进行初始化时,它默认值都

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,392
精华内容 9,756
关键字:

java中的null

java 订阅