技术标签: Java学习 java integer String
在日常的Java编程中,会遇到需要将int类型转换成String类型的情况,这时候可以使用Integer类进行操作。在转换的时候,需要注意对象是否为null
存在三种方法,核心都是静态方法toString()
//方法一:Integer类的静态方法toString()
Integer a = 3;
String str = Integer.toString(a)
//方法二:Integer类的成员方法toString()
Integer a = 3;
String str = a.toString();
//方法三:String类的静态方法valueOf()
Integer a = 3;
String str = String.valueOf(a);
查看Integer 类中成员方法toString()
可以发现其源码
public String toString(){
return toString(value);
}
综上方法一、二是同一种方式,这两种方法在a
为null
的时候会报空指针异常。
第三种方法其源码为:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
可见,第三种方式其核心也是调用了静态方法toString()
,只是在其之前做了为==null
的三目运算。
所以使用这种方式可以避免出现空指针异常的情况,但相对的会把null
转化为String类型进行输出。此时无法使用==null
来判断空值。
当需要转换成String类型,同时保留null
属性时,可以自己写一个三目运算。
public static String valueOf(Object obj) {
return (obj == null) ? null : obj.toString();
}
可以使用Integer.valueOf()
来进行操作。
值得注意的是根据其源码来看:
public static Integer valueOf(String s) throws NumberFormatException{
return Integer valueOf(parseInt(s));
通过源码可以看到首先是通过parseInt(s)
方法将String类型转化为int
类型,然后使用Integer valueOf(int s)
来进行转换。
其中Integer valueOf(int s)
源码为:
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
在-128~127
之间的常量缓存下来,当超出范围时创建新对象,此处不扩张,可查阅int类型与对象integer类
的区别。
所以此种方式当待转换参数为null
时会报空指针异常,所以在转换前需要判断是否为null
。
在int
或integer
转String
的时候,调用静态方法toString()
即可,但需要做好对象为null
的判断,避免出现空指针异常报错。
两个博客opencv matlab配置,MATLAB配置mexopencv_唐荣轩的博客-程序员宝宝平台:win10 x64+VS 2015+Matlab R2018b+opencv_python-3.4.1+mexopencv3.4.1问题来源:最近在做图像拼接的论文, 在opencv中有很多现成实现追踪的函数,想用那些函数来进行一个调试,由于MATLAB有更加强大的矩阵库,众多的工具箱,以及更加便捷的可视化及调试工具,所以打算在MATLAB中调用opencv库中的函数,在此记录一下配置的过程...
《【2015年9月统考】《计算机基础》网络统考 奥鹏统考电大统考 复习资料____电子表格》由会员分享,可在线阅读,更多相关《【2015年9月统考】《计算机基础》网络统考 奥鹏统考电大统考 复习资料____电子表格(5页珍藏版)》请在人人文库网上搜索。1、单选题:1、在Excel2010中,假定一个公式中包含有单元格引用为$H38,则称该地址的行号为________。A.相对地址B.绝对地址C.混...
2019独角兽企业重金招聘Python工程师标准>>> ...
AndroidStudio中简单数据的存储要用到SharedPreferences;Unity中使用PlayerPrefs.存储数据 getSharedPreferences()方法的第二个参数是个枚举,有以下四种操作模式:Context.MODE_PRIVATE (私有模式 ):值是0;只能被创建这个文件的当前应用访问;若文件不存在...
背景无论是集成第三方jar,还是一些遗留系统,都可能涉及到如何把对象声明到ioc容器的问题.由于是第三方类,无法直接标注@IocBean等注解,所以需要ioc js之类的配置.然而, 如何把一段java代码,变成ioc配置,的确难住了很多人.变换的核心,就是如何灵活使用factory,配合type,args,fields,肯定能适配绝大部分的java代码.简单例子首先看一段Java代码NutDao...
今天利用QT写一个项目,在写代码的过程中,使用到了QT中一大特色【信号和槽】,对这个也是刚刚学习阶段,所以在这里遇到了一个问题:error: static assertion failed: No Q_OBJECT in the class with thesignal # define Q_STATIC_ASSERT_X(Condition, Message)static_assert(bool(Condition), Message)其实这个问题主要是说明没有使用Q_OBJECT主界面
本篇目的:移植蜂鸣器驱动,并测试。本篇参考:http://singleboy.blog.163.com/blog/static/54900194201152921847149/14.1 蜂鸣器驱动源码添加(1)添加源码drivers/misc/mini24[email protected]:~/linux-4.9.2# vim drivers/misc/mini2440_pwm
pom引入itext的时候如果提示资源下载失败,尝试改为阿里的镜像地址再次下载。 <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.4.3</version> </dependency&g
小程序开发 宽度100%by Prateek Phoenix 通过Prateek Phoenix 这是您作为开发人员可以实现100%年度目标的方式 (Here’s How You, as a Developer, Can Achieve 100% of Your Yearly Goals)A New Year always brings with it a couple of recurri...
2017年2月22日,犹太博物馆举办的第31届筹款活动--普林节晚会在纽约举行,海航集团王健应邀参会,并在会上代表集团领取了“全球企业荣誉”奖项。 这一奖项是用以表彰海航集团王健董事长卓越的商业领导能力及海航集团在全球公益事业上的突出贡献。在奉上无花果和迷迭香烤鸡之前,海航集团王健被请上前台,在700多位贵宾面前接受颁奖。 黑石集团合伙创建人和首席执行官史蒂夫·施瓦茨曼
fitbit手表中文说明书In Part 1 of this article I explained how we can obtain sleep data from Fitbit, load it into Python and preprocess the data to be ready for further analysis. In this part I will explain h...
import java.io.FileOutputStream;import java.io.OutputStream;import java.io.StringReader;import java.util.List;import com.lowagie.text.Document;import com.lowagie.text.PageSize;import com.lowagie.text....