java中对null值的处理
2016-04-01 10:31
357 查看
今天和朋友在群里交流 碰见一个问题
java中 null+"a" =nulla; 很诡异的问题
网上查了查 ,一些懂得java源码的大神给了些解释;
这不是JVM的作用是Java编译器把这段重构了,反编译一下就看得出是
new java.lang.StringBuilder [16]
dup
aload_1 [str1]
invokestatic java.lang.String.valueOf(java.lang.Object) : java.lang.String [18]
invokespecial java.lang.StringBuilder(java.lang.String) [24]
看得出跟下面是一样的
new StringBuilder(
String.valueOf(str1)
);
而你在看String.valueOf方法是这样的
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
。因此Stringbuilder 最终构造的是一个 "null"字符串
java中 null+"a" =nulla; 很诡异的问题
网上查了查 ,一些懂得java源码的大神给了些解释;
这不是JVM的作用是Java编译器把这段重构了,反编译一下就看得出是
new java.lang.StringBuilder [16]
dup
aload_1 [str1]
invokestatic java.lang.String.valueOf(java.lang.Object) : java.lang.String [18]
invokespecial java.lang.StringBuilder(java.lang.String) [24]
看得出跟下面是一样的
new StringBuilder(
String.valueOf(str1)
);
而你在看String.valueOf方法是这样的
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
。因此Stringbuilder 最终构造的是一个 "null"字符串
相关文章推荐
- JavaAgent 应用(spring-loaded 热部署)
- ?super T 和? extends T区别 ---- Java 泛型
- JAVA该掌握的知识
- Java泛型--泛型应用--泛型接口、泛型方法、泛型数组、泛型嵌套
- Java_Spring----My Batis
- JavaAgent 简单例子
- java并发之volatile变量
- 【hihocoder】hiho密码
- Java23种设计模式简介与原则
- Myeclipse 常用快捷键
- javap的使用
- Spring Security
- java 开发环境搭建
- 10 Ways to Learn Java in just a Couple of Weeks
- struts2 - execAndWait(拦截器实例)
- java怎么判断一个文本是什么编码格式以及运行在doc下,javadoc注释文档
- Java中的Enum的使用与分析
- eclipse快捷键
- 查看项目中哪些Java类用到了某个Jar包
- springMVC:java.io.FileNotFoundException: Could not open ServletContext resource