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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 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零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
89 60
|
8天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
33 17
|
1天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
8 2
|
9天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
11 3
|
9天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
10 2
|
9天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
11 1
|
3天前
|
Java Spring
JAVA获取重定向地址URL的两种方法
【10月更文挑战第17天】本文介绍了两种在Java中获取HTTP响应头中的Location字段的方法:一种是使用HttpURLConnection,另一种是使用Spring的RestTemplate。通过设置连接超时和禁用自动重定向,确保请求按预期执行。此外,还提供了一个自定义的`NoRedirectSimpleClientHttpRequestFactory`类,用于禁用RestTemplate的自动重定向功能。
ZZULIOJ-1111: 多个整数的逆序输出(函数专题)(Java)
ZZULIOJ-1111: 多个整数的逆序输出(函数专题)(Java)
|
7天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
77 38
|
4天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?