Java如何将字符串String转换为整型Int

 更新时间:2022年08月10日 14:57:47   作者:码说TM  
这篇文章主要介绍了Java如何将字符串String转换为整型Int,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

用法

在java中经常会遇到需要对数据进行类型转换的场景,String类型的数据转为Int类型属于比较常见的场景,主要有两种转换方法:

  • 1. 使用Integer.parseInt(String)方法
  • 2. 使用Integer.valueOf(String)方法

具体demo如下:

public void convert() {
    // 1.使用Integer.parseInt(String)
    String str1 = "31";
    Integer num1 = Integer.parseInt(str1);
    System.out.print("字符串31转换为数字:");
    System.out.println(num1);

    // 2.使用Integer.valueOf(String)
    String str2 = "32";
    Integer num2 = Integer.valueOf(str2);
    System.out.print("字符串32转换为数字:");
    System.out.println(num2);
}

执行结果:

根据执行结果可见,两种方式都能完成字符串到整型的转换。

注意点

但需要注意的是,使用这两种方法都有一个前提,那就是待转换字符串的内容必须为纯数字。 

不难发现上面demo中的待转换字符串都是"31"、"32"这种由纯数字组成的字符串,如果待转字符串中出现了除数字以外的其他字符,则程序会抛出异常。

如下demo所示,在字符串中加入小写英文字母,并用try-catch语句包裹代码段以捕捉会出现的异常。(因为我们已经知道,带字母的字符串转换为整型会出现数字格式转换的异常,所以选择catch NumberFormatException)

public void convert() {
    // 1.Integer.parseInt(String)
    try {
        String str1 = "31a";
        Integer num1 = Integer.parseInt(str1);
        System.out.print("字符串31a转换为数字:");
        System.out.println(num1);
    } catch (NumberFormatException e) {
        System.out.println("Integer.parseInt(String)方法执行异常");
        e.printStackTrace();
    }
 
    // 1.Integer.valueOf(String)
    try {
        String str2 = "32b";
        Integer num2 = Integer.valueOf(str2);
        System.out.print("字符串32b转换为数字:");
        System.out.println(num2);
    } catch (NumberFormatException e) {
        System.out.println("Integer.valueOf(String)方法执行异常");
        e.printStackTrace();
    }
}

从执行结果可见,这段代码分别在Integer.parseInt(String)方法和Integer.valueOf(String)位置触发了NumberFormatException,其原因都是被转换的字符串中存在英文字母,无法转换成整型

性能比较

我们可以通过使用System.nanoTime()来查看两种方法执行的时间差

public static void convert() {
    // 1.Integer.parseInt(String)
    String str1 = "321";
    long before1 = System.nanoTime();
    Integer.parseInt(str1);
    long interval1 = System.nanoTime() - before1;
    System.out.print("Integer.parseInt(String)的执行时长(纳秒):");
    System.out.println(interval1);

    // 1.Integer.valueOf(String)
    String str2 = "332";
    long before2 = System.nanoTime();
    Integer.valueOf(str2);
    long interval2 = System.nanoTime() - before2;
    System.out.print("Integer.valueOf(String)的执行时长(纳秒):");
    System.out.println(interval2);
}

其中,interval1和interval2的值分别指两个方法的执行前后系统时间之差,单位是纳秒,执行多次后均可发现,Integer.valueOf(String)方法的执行时长要小于Integer.parseInt(String)方法,性能更优 

到此这篇关于Java如何将字符串String转换为整型Int的文章就介绍到这了,更多相关Java String转换为Int内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java支持方法重载的原因

    Java支持方法重载的原因

    今天给大家带来的是关于Java的相关知识,文章围绕着Java方法重载展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java的CopyOnWriteArrayList操作详解

    Java的CopyOnWriteArrayList操作详解

    这篇文章主要介绍了Java的CopyOnWriteArrayList操作详解,  CopyOnWriteArrayList是ArrayList 的一个线程安全的变体,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的,需要的朋友可以参考下
    2023-12-12
  • 利用Spring Social轻松搞定微信授权登录的方法示例

    利用Spring Social轻松搞定微信授权登录的方法示例

    这篇文章主要介绍了利用Spring Social轻松搞定微信授权登录的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Java程序结构与常量变量难点解析

    Java程序结构与常量变量难点解析

    JAVA的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
    2021-10-10
  • Unity&Springboot实现本地登陆验证

    Unity&Springboot实现本地登陆验证

    本文主要介绍了Unity&Springboot服务器/本地登陆验证,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 详解java.lang.reflect.Modifier.isInterface()方法

    详解java.lang.reflect.Modifier.isInterface()方法

    这篇文章主要介绍了详解java.lang.reflect.Modifier.isInterface()方法的相关资料,这里提供实例帮助大家理解这个方法的使用,需要的朋友可以参考下
    2017-09-09
  • Springcloud Bus消息总线原理是实现详解

    Springcloud Bus消息总线原理是实现详解

    Spring Cloud Bus 使用轻量级的消息代理来连接微服务架构中的各个服务,可以将其用于广播状态更改(例如配置中心配置更改)或其他管理指令,本文将对其用法进行详细介绍
    2022-09-09
  • idea 开发神器之idea插件汇总

    idea 开发神器之idea插件汇总

    这篇文章主要介绍了idea 开发神器之idea插件汇总,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • java LeetCode题解KMP算法示例

    java LeetCode题解KMP算法示例

    这篇文章主要为大家介绍了java LeetCode题解KMP算法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Java中字节流和字符流的理解(超精简!)

    Java中字节流和字符流的理解(超精简!)

    Java通过称为流的抽象来执行I/O操作,下面这篇文章主要给大家介绍了关于Java中字节流和字符流理解,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论