java中null+和null+null的深入理解
java中null+""输出的字符串仍是null,但是字符串形式的null,而且length是4个;
“”+null 得到的结果是一个null字符串,采用字符串加上其它类型的参数时如过其它参数不是字符串类型,会被强制转换成字符串。
1、是判断结果是否为空字符串,此时为null字符串,不为空字符串。
2、是判断对象是否为空,此时为null字符串,不是空对象。
3、判断是否为null字符串,判断字符串最好用 字符串.equals()方法, == 是直接比较内存地址,这里不是同一个内存地址,是不想等的。
4、是打印结果
java中null+null输出的结果是nullnull,都是字符串的形式
- public class NullTest {
- public static void main(String[] args) {
- String str1=null;
- String str2=null;
- String str3=str1+str2;
- System.out.println(str3);
- }
- }
其中:
- String str1=null;
- String str2=null;
- String str3=str1+str2;
等价于:
String str3 = new StringBuilder().append((String)null).append((String)null).toString();
看了append(String)的源码,就会顿时明白:
- public AbstractStringBuilder append(String str) {
- if (str == null)
- str = "null";
- int len = str.length();
- ensureCapacityInternal(count + len);
- str.getChars(0, len, value, count);
- count += len;
- return this;
- }
java中null+和null+null的深入理解相关推荐
- Java中switch参数传null会引起异常——Java 语法糖
问题 switch 参数不能是null,swicth(null)会报java.lang.NullPointerException异常 查找原因 为什么会这样呢,查找一下原因: 找到编译后的class文 ...
- java中返回值空值(null)处理
在微服务项目中,可将这个转换类放在公共模块(commons)下,在整个项目中都生效 1.使用spring boot默认的Jackson package com.miswu.config;import ...
- Java中? extends T和? super T的理解
? 通配符类型 - <? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类; <? super T> 表示类型下界(Java Core中叫超类型限 ...
- Java中的设计模式:“代理模式”的理解
代理模式定义: 为其他对象提供一种代理以控制对这个对象的访问.在面向对象中,有时候直接访问一些对象比较麻烦,所以代理模式就是在这个对象上加上一个访问该对象的访问层.类似于很多明星的事务实际都是交给经纪 ...
- java中堆与栈的区别 彻底理解
每一个Java应用都唯一对应一个JVM实例,每一个实例唯一对应一个堆.应用程序在运行中所创建的所有类实例或数组都放在这个堆中,并由应用所有 的线程共享.跟C/C++不同,Java中分配堆内存是自动初始 ...
- JAVA中关于set()和get()方法的理解及使用
https://www.cnblogs.com/fly-sky-han/p/6564439.html 我们先来看看set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,顾名思义, ...
- 一些简单的例子让你在Java中能更好的学习并理解循环结构(1)!
一.java中流程控制方式采用三种基本流程结构:顺序结构,选择(分支)结构,循环结构. 1.[if-else 结构] if(1>2){ system.out.println("if条件 ...
- java中package(包)的使用理解
最近在学习java,在学习到对象和类这一部分时,接触了java中很重要的一个概念:package,也就是包.一开始对于package的使用我产生了许多疑惑,不仅是理论上的,在实际写代码的尝试中也出现了 ...
- Java中的字节流和字符流如何理解——精简
目录 引言 字节流和字符流 字节流 字节输入流 字节输出流 字符流 字符输入流 字符输出流 引言 在完完全全的完成本学期的学习任务之后,终于可以有时间继续更新Java相关的文章了.那么今天我们要学习的 ...
- 在java中null的作用_在java中避免使用!= null有什么好处?
使用空集合或"空白"操作而不是null的主要优点是,大多数情况下,此类对象仍然可以在代码中工作而无需进一步修改.从本质上来说,空值更容易出错. 请使用以下代码,例如: String ...
最新文章
- postfix邮件安装配置文档
- 浅谈lastIndexOf
- nginx多站点配置,以及隐藏index.php
- Java 里的 abstract 和 final 关键字
- 性能测试真如你想象的那么简单?
- 对 Java 集合的巧妙利用
- XMLHttpRequest发送XML请求
- neo4j python可视化_Python使用py2neo操作图数据库neo4j的方法详解
- 利润表模板excel_财务EXCEL必修课 (20小时)
- win10添加开机启动项_Win10+Deepin双系统开启启动项调整
- python编程,毫秒级延时的一种实现方式
- 阿里云域名注册优惠口令和续费优惠口令(更新)
- 内网端口映射详解(花生壳)
- JavaScript高级程序设计(第4版)学习随笔【第五章】
- ERROR: Failed building wheel for inplace-abn
- vue在创建项目时不小心选上代码校验选项(linter/ESlint)后,如何关掉?
- 如何去除谷歌的人机身份验证
- c语言实现矩阵行初等变换
- foxmail接收邮件时提示RPC服务器不可用。错误代码:0x000006BA
- HART协议基础知识