简单了解java类型转换常见的错误

 更新时间:2020年04月01日 09:51:01   作者:乐之者v  
这篇文章主要介绍了简单了解java类型转换常见的错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

类型转换虽然很简单,但是还是有些小细节要多注意。

String转化为int:

String test="123";
int number=Integer.parseInt(test);

String转化为Integer,可以如下所示。

也适用于int转化为Integer:

String test="123";
// String test="abc";  //会报错:NumberFormatException: For input string
Integer number=Integer.valueOf(test);

注意:不管是使用Integer.parseInt(),还是使用Integer.valueOf()将字符串转换成数字,

如果是非数字的字符串,会报错:NumberFormatException: For input string: ""

更安全的做法是,使用apache包的NumberUtils,如下:

String str="abc";
//str不为数字时,设置默认值为 0
int num = NumberUtils.toInt(str);
//str不为数字时,设置默认值为其他值,比如1
int defaultNum=NumberUtils.toInt(str,1);

String转BigDecimal:

String str1="2.30";
BigDecimal bd=new BigDecimal(str1);

Double转化为int:

Double test=new Double("1.23");  //Double初始化,最好用String保证精度
int result=test.intValue();

其他类型转String:

// Object obj="123";
String test=String.valueOf(obj);

注意:当String.valueOf()的参数obj为null时,返回值是字符串"null"!!而不是null。

如果希望obj为null时,返回"",可以使用apache-commons-lang的包,如下所示:

Object object=null;
String str = ObjectUtils.toString(object);  //object为null时,结果为""

如果希望obj为null时,返回null,如下:

ObjectUtils.toString(object,nullStr),第二参数nullStr表示,当object为null时,方法返回的值。

// Object obj=null;
Object object="123";
String str = ObjectUtils.toString(object,null);
//相当于 String str= (object == null) ? null : object.toString();

其他类型转Double:

Double rate= Double.valueOf(obj);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring使用AOP完成统一结果封装实例demo

    Spring使用AOP完成统一结果封装实例demo

    这篇文章主要介绍了Spring使用AOP完成统一结果封装,本文通过实现demo给大家详细讲解,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 第一次使用Android Studio时你应该知道的一切配置(推荐)

    第一次使用Android Studio时你应该知道的一切配置(推荐)

    这篇文章主要介绍了第一次使用Android Studio时你应该知道的一切配置(推荐) ,需要的朋友可以参考下
    2017-09-09
  • Maven在Java8下如何忽略Javadoc的编译错误详解

    Maven在Java8下如何忽略Javadoc的编译错误详解

    这篇文章主要给大家介绍了关于Maven在Java8下如何忽略Javadoc的编译错误的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • java把excel内容上传到mysql实例代码

    java把excel内容上传到mysql实例代码

    这篇文章主要介绍了java把excel内容上传到mysql实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • JDK9对String字符串的新一轮优化

    JDK9对String字符串的新一轮优化

    这篇文章主要介绍了JDK9对String字符串的新一轮优化,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java中的六种经典比较排序算法

    Java中的六种经典比较排序算法

    排序算法是程序开发和计算机科学中常见的算法之一,排序算法是算法分析的重要内容之一,因为排序算法的效率影响着程序的性能和稳定性,本文的目的是介绍常见的排序算法,并且通过代码示例演示它们的实现过程,需要的朋友可以参考下
    2023-06-06
  • 深入Java注解原理Annotation

    深入Java注解原理Annotation

    这篇文章主要介绍了深入Java注解原理Annotation,注解可以附加在package,class,method,field等上面,可相当于添加了额外的辅助信息,可以通过反射机制编程实现对这些元数据的访问,需要的朋友可以参考下
    2023-10-10
  • java获取各种路径的基本方法

    java获取各种路径的基本方法

    这篇文章主要为大家详细介绍了java获取各种路径的基本方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java实现系统限流的示例代码

    Java实现系统限流的示例代码

    限流是保障系统高可用的方式之一,也是大厂高频面试题,它在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧,所以本文我们就来聊聊如何实现系统限流吧
    2023-09-09
  • Jemalloc优化MySQL和Nginx

    Jemalloc优化MySQL和Nginx

    这篇文章主要介绍了Jemalloc优化MySQL和Nginx的相关资料,需要的朋友可以参考下
    2016-01-01

最新评论