从String.valueOf(null)说起
来源:互联网 发布:密室逃脱 网络宣传语 编辑:程序博客网 时间:2024/05/16 14:18
同学在群问String.valueOf(null)返回啥,我看了下源码,返回"null"啊,
public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }
结果当然是我too young了,报错了,因为用的是
public static String valueOf(char data[]) { return new String(data); }这就不得不说下java的重载了,我当时想这个问题有两点,第一是为什么不重载Object类型,第二是为什么重载给char[]而不是boolean,搜索一下有了答案,从后往前说,首先
null在重载的时候是不能重载给基础数据类型的,所以boolean,pass 掉了,然后剩下的就是Object和char[]了, 正常来想Object是更靠谱的选择啊,但是JLS 中是有规定的,
Java的重载解析过程是以两阶段运行的。第一阶段 选取所有可获得并且可应用的方法或构造器。第二阶段在第一阶段选取的方法或构造器中选取最精确的一个。如果一个方法或构造器可以接受传递给另一个方法或构 造器的任何参数,那么我们就说第一个方法比第二个方法缺乏精确性[JLS 15.12.2.5]。
英文原文中用的是special当初在stack overflow中看到解释还以为是选择更特殊的,感觉很别扭,原来是自己英文太次了 。。。
0 0
- 从String.valueOf(null)说起
- String.valueof(null) 与 String.valueof((Object)null)
- 从String类说起
- String.valueOf()能否传入null对象
- java后台的string.valueOf(null)
- String.valueOf()的一个坑—“null”
- Why does String.valueOf(null) throw a NullPointerException?
- 说说JDK中的String.valueOf()传null的诡异处理
- String.valueOf
- String.valueOf()
- String.valueOf
- String.valueOf()
- String.valueOf()
- String.valueOf()
- toString() ,String,String.valueOf
- 从Java中String的subString函数说起
- 从string引起的串扰bug说起
- java.toString() ,(String),valueOf
- 搭建hibernate环境
- C语言中的结构体与面向对象编程思想
- 英语学习——Kaizen
- POJ-3352 Road Construction,tarjan缩点求边双连通!
- 什么是validationQuery?
- 从String.valueOf(null)说起
- php进阶 ->字符串操作
- 第4天学习
- 测试面试常考点
- kafka之学习框架
- 【计算几何初步】POJ1584[A Round Peg in a Ground Hole]题解
- hadoop学习笔记之Hbase安装
- 总结:关于console的一些用法
- C# IHttpHandler 概述