栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA String转int(Integer.parseInt()和Integer.valueOf())

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA String转int(Integer.parseInt()和Integer.valueOf())

@[TOC](JAVA String转int(Integer.parseInt()和Integer.valueOf()))


前言

不想看分析直接跳到最后看结论。


一、常用函数

常用函数有两个:Integer.parseInt()和Integer.valueOf()。

1. parseInt
	//parseInt返回int
	public static int parseInt(String s) throws NumberFormatException {
        return parseInt(s,10);
    }
2. valueOf
	//返回int的封装类Integer
    public static Integer valueOf(String s) throws NumberFormatException {
        return Integer.valueOf(parseInt(s, 10));
    }
parseInt与valueOf的相同点与区别

Integer.parseInt(String s)和Integer.valueOf(String s)都调用了Integer.parseInt(String s, int radix)函数来处理String到int的转换Integer.parseInt()返回int,Integer.valueOf()返回int的封装类Integer

调用关系图:

二、实例 实例一
public class Main {

    public static void main(String[] args){
        String a = "123";
        int x = Integer.parseInt(a);
        int y = Integer.valueOf(a);//编译器提示'Integer.valueOf(a)' 内的装箱冗余
        System.out.println(x);
        System.out.println(y);
    }
}

int y = Integer.valueOf(a); 编译器会提示’Integer.valueOf(a)’ 内的装箱冗余,因为这里valueOf对int进行封装变成Integer类型,然后y是int型又需要对这个Integer类型进行拆包,使得封装这一步变得多余了,直接使用parseInt比较好

运行结果:

实例二
public class Main {

    public static void main(String[] args){
        String a = "123.0";
        int x = 0;
        int y = 0;
        //parseInt
        try{
            x = Integer.parseInt(a);
            System.out.println(x);
        }catch(NumberFormatException e){
            System.out.println("parseInt throw NumberFormatException");
        }
        //valueOf
        try{
            y = Integer.parseInt(a);
            System.out.println(y);
        }catch(NumberFormatException e){
            System.out.println("valueOf throw NumberFormatException");
        }
    }
}

不管是parseInt还是valueOf,遇到非纯整数的数字字符串都是会抛出NumberFormatException异常的

运行结果:


结论
    两个String→int的函数:

    Integer.parseInt(String s)Integer.valueOf(String s) 遇到非纯整数字符串都会抛出NumberFormatExceptionvalueOf实际调用parseInt,然后多了一步Integer的封装对int型的变量赋值建议使用parseInt,对Integer变量赋值建议使用valueOf

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/727690.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号