Java字符串转整数的超简单方法!

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
云解析DNS,个人版 1个月
简介: Java字符串转整数的超简单方法!

问题描述

当你把一个字符串值和一个整数加在一起而不进行任何形式的转换时会发生什么呢?

class StrToInt{
public static void main(String[] args){
  String age="10";
  System.out.println(age +20);
  //1020
  }
}


结果如图所示


解决方法

parseInt() 方法

parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析。

如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

static int parseInt(String s)
static int parseInt(String s, int radix)

参数

  • s -- 十进制表示的字符串。
  • radix -- 指定的基数。

返回值

  • parseInt(String s): 返回用十进制参数表示的整数值。
  • parseInt(int i): 使用指定基数的字符串参数表示的整数 (基数可以是 10, 2, 8, 或 16 等进制数) 。
class StrToInt{
public static void main(String[] args){
String age="10";
int ages=Integer.parseInt(age);
System.out.println(ages+20);
//30
  }
}

valueOf() 方法

valueOf() 方法用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。

该方法是静态方法。该方法可以接收两个参数一个是字符串,一个是基数。

static Integer valueOf(int i)
static Integer valueOf(String s)
static Integer valueOf(String s, int radix)

参数

  • i -- Integer 对象的整数。
  • s -- Integer 对象的字符串。
  • radix --在解析字符串 s 时使用的进制数,用于指定使用的进制数。

返回值

  • Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。
  • Integer valueOf(String s):返回保存指定的 String 的值的 Integer 对象。
  • Integer valueOf(String s, int radix): 返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
age="10";
        ages=Integer.valueOf(age);
        System.out.println(ages+20);
        //30

异常处理情况

某些情况下(例如,字符串包含非数字字符或为空等),字符串将无法被转化为数字,直接使用方法parseInt() 会报错,如下图。

String test="10abc";
int tests=Integer.parseInt(test);
System.out.println(tests+20);

可以使用parseInt()方法时结合异常处理一起使用,这样就可以优雅的处理报错了。

String test="10abc";
        try{
            int tests=Integer.parseInt(test);
        }catch (Exception e){
            System.out.println("无法转换字符串为整数:"+e.getMessage());
        }

目录
相关文章
|
5天前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
22小时前
|
存储 Java
|
2天前
|
Java API 开发者
|
5天前
|
人工智能 Java 容器
十个Java字符串操作示例程序
十个Java字符串操作示例程序
5 1
|
1天前
|
存储 Java
|
4天前
|
Java API
Java8 Lambda 设计和实现问题之在Java 8的Stream API中,parallel=false时collect方法是如何实现的
Java8 Lambda 设计和实现问题之在Java 8的Stream API中,parallel=false时collect方法是如何实现的
|
4天前
|
Java Spring 容器
Java SpringBoot 中,动态执行 bean 对象中的方法
Java SpringBoot 中,动态执行 bean 对象中的方法
13 0
|
5天前
|
Java
Java中 字符串,字符串数组,整型数组初始化
Java中 字符串,字符串数组,整型数组初始化
6 0
|
3月前
|
存储 XML 缓存
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
Java字符串内幕:String、StringBuffer和StringBuilder的奥秘
42 0
|
3月前
|
存储 Java
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究
Java基础复习(DayThree):字符串基础与StringBuffer、StringBuilder源码研究