zoukankan      html  css  js  c++  java
  • 论在java中null与“ ”的区别

      在java中,我们通常在初识化一个字符串的时候就会面临是把它初始化为" ",还是不用给他赋值让他默认为null。

      首先我们讲这两个符号是不同的,区别就在于null就是没有的意思,而""这个是指有一个空白的存在。如果我们创建一个对象赋值为null那么就表示只在堆当中创建了一个变量名,并没有在

    栈中为它创建空间,而如果一个对象赋值为""那么它就不仅是在对里创建变量名,还会在栈中为它开辟一个空白的空间。

      至于我什么什么后创建变量null什么时候创建"",这就比如接下来这段代码中:

    public boolean verification(){
    String a = t1.getText();
    String b = t2.getText();
    String c = t3.getText();
    String d = t4.getText();
    String error = "";
    if(a.matches("[a-zA-Z\u4e00-\u9fa5]{2,9}")!=true){
    error +="姓名请输入2-9个中文或英文字母 ";
    System.out.println(a);
    }
    if(c.matches("[\u4e00-\u9fa5]{1}")!=true){
    error+="性别请用一个中文描述 ";
    }
    if(b.matches("[0-9]{2}")!=true){
    error+="姓名为两位数 ";
    }
    if(d.matches("(13|15|18)[0-9]{9}")!=true){
    error+="电话呢号码为13或15或18开头的11位数 ";
    }
    if(error.length()==0){
    JOptionPane.showMessageDialog(null, "添加成功");
    return true;

    }
    else{
    JOptionPane.showMessageDialog(null, error);
    return false;
    }

    }

    如果我们将error的初始值赋值为null,那么我们在接下来对error.length()调用时就会出现空指针错误,这个地方我们就只能把它赋值成""。

      而在一些只是接收输出,不需要调用字符串方法的地方就可以直接不用赋值,直接让它默认为null就可以了。

  • 相关阅读:
    讲解SQL Server危险扩展存储删除和恢复
    新生活
    邮件发送作业调度 创建操作员
    Linux 定时任务 crontab
    短信猫二次开发接口函数及规范
    Linux修改用户shell
    Linux里$等记得转义
    网页标题前出现的图标
    Linux读书笔记
    DataStage通过分析日志获取Job插入目标表的记录数
  • 原文地址:https://www.cnblogs.com/socool0059/p/5374906.html
Copyright © 2011-2022 走看看