java中的values函数_详解java 中valueOf方法实例
case1:Object 对象转String
需要强调的是String.valueOf()方法,当参数为类型是object,且值时null的时候他的处理方式public
static
String valueOf(Object obj) {
return
(obj == null) ? "null" : obj.toString();
}
这样在后面的成都不会报错但是在逻辑上可能出错,一般习惯写的是str!=null && str.length()>0,当是由 str = String.valueOf(obj)得到时上面的额判断条件就有问题了
所以遇到 Object 对象转String 最好强转 str= (String) obj此时,当obj为null时,str依然为null,case2:Object 装基本类型的包装类型,(关注integer和Long,Double)
首先 obj被赋值之后 obj还是属于数据所属基本类型的包装类型可以通过instanceOf 判断知道.
所以直接用强转就可以,没有必要用类似Long.ParseLong(String.valueOf(obj))这类方法,用这中复杂的问题会有一个问题就是不能返回值不能包含null
如果是null就直接抛出异常了,因为在String.valueOf()方法时已经把null转为字符串了,而Long.parseLong()方法如果传入了null字符串就会报异常,
Long.ParseLong(String.valueOf(obj)) 方法就等价与 (long)obj,用基本类型去强转
更好的做法是用(Long)obj去强转,在后面的程序中做null情况的判断和处理
case3: 基本类型的包装类型和String的vlaueOf方法对与obj=null的处理是不一样的,String.valueOf(obj)的处理返回的"null"字符串,而基本类型的包装类型返回的null
强调一下,String不是基本类型,更不是基本包装类型
总结:
1遇到obj类型转string时最好强转
2遇到obj类型转几倍类型的包装类型时最好强转,如果需要可以先用instanceOf判断其类型时再强转
相关推荐】
java中的values函数_详解java 中valueOf方法实例相关推荐
- java中static修饰函数_详解java中static关键词的作用
在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载 ...
- python中的iloc函数_详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
pandas的DataFrame对象,本质上是二维矩阵,跟常规二维矩阵的差别在于前者额外指定了每一行和每一列的名称.这样内部数据抽取既可以用"行列名称(对应.loc[]方法)",也 ...
- java static 函数_详解java中的static关键字
Java中的static关键字可以用于修饰变量.方法.代码块和类,还可以与import关键字联合使用,使用的方式不同赋予了static关键字不同的作用,且在开发中使用广泛,这里做一下深入了解. 静态资 ...
- mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法
1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...
- python中index函数_详解python中的index函数用法
1.函数的创建 def fun(): #定义 print('hellow') #函数的执行代码 retrun 1 #返回值 fun() #执行函数 2.函数的参数 普通参数 :要按照顺序输入参数 de ...
- java list for循环遍历_详解Java中list,set,map的遍历与增强for循环
详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for ...
- python中squeeze函数_详解pytorch中squeeze()和unsqueeze()函数介绍
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- python中延时函数_详解python中实现延时回调普通函数
这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 前言 ...
- java sort 第二个参数_详解java Collections.sort的两种用法
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: public static > void sort(List list) { l ...
最新文章
- pyhanlp 中文词性标注与分词简介
- C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参
- dnf超时空漩涡副本路线流程图_DNF:超时空漩涡开荒全攻略一览,你顺利通关了么?...
- c++十进制转二进制_二进制与十进制如何互相转换?
- 一篇文章学习Python中的多线程
- Python精简入门级学习(二)
- 《Python编程从入门到实践》记录之测试代码(unitttest模块)
- 基于VxWorks的VxBus字符设备驱动
- 匿名邮件实现的方式及原理
- C++静态库与动态库的区别
- 文档服务器 件排名,全国服务器排名
- 在PS中,1PX等于多少毫米?
- SM2国密算法加解密
- 雷电助手连接不到服务器,雷电模拟器无法联网怎么办 雷电模拟器网络异常的解决办法...
- 阿里P8大神讲解——Java,JVM内存模型
- 解决bug问题,查找bug的方法
- 指点迷津!十二星座程序猿个性,你属于哪个?
- 【木叶精品系统】木叶 GhostXP SP3 纯净版/装机版_2013.06
- gorilla/mux 翻译
- 一分钟教你配置DHCP服务,超级简单一看就会!!!!!