Java String字符串和整型int的相互转换
创始人
2025-06-01 21:19:30

String 在编程中被广泛使用,所以掌握 String 和 int 的相互转换方法是极其重要的。本节前面部分主要讲解了 String 转换 int 和 int 转换 String 方法,并提供了示例代码,后面部分对 valueOf()、parse() 和 toString() 等具体方法进行介绍。

String转换为int

String 字符串转整型 int 有以下两种方式:

  • Integer.parseInt(str)

  • Integer.valueOf(str).intValue()

注意:Integer 是一个类,是 int 基本数据类型的封装类。

例如下面代码所示:

publicstaticvoidmain(String[] args){
String str ="123";
int n =0;// 第一种转换方法:Integer.parseInt(str)n = Integer.parseInt(str);System.out.println("Integer.parseInt(str) : "+ n);// 第二种转换方法:Integer.valueOf(str).intValue()n =0;n = Integer.valueOf(str).intValue();System.out.println("Integer.parseInt(str) : "+ n);
}

输出结果为:

Integer.parseInt(str) : 123
Integer.parseInt(str) : 123

在 String 转换 int 时,String 的值一定是整数,否则会报数字转换异常(java.lang.NumberFormatException)。

int转换为String

整型 int 转 String 字符串类型有以下 3 种方法:

  • String s = String.valueOf(i);

  • String s = Integer.toString(i);

  • String s = "" + i;

例如下面代码所示:

publicstaticvoidmain(String[] args){
int num =10;// 第一种方法:String.valueOf(i);num =10;
String str = String.valueOf(num);System.out.println("str:"+ str);// 第二种方法:Integer.toString(i);num =10;
String str2 = Integer.toString(num);System.out.println("str2:"+ str2);// 第三种方法:"" + i;
String str3 = num +"";System.out.println("str3:"+ str3);
}

输出结果为:

str:10
str2:10
str3:10

使用第三种方法相对第一第二种耗时比较大。在使用第一种 valueOf() 方法时,注意 valueOf 括号中的值不能为空,否则会报空指针异常(NullPointerException)。

valueOf() 、parse()和toString()

1)valueOf()

valueOf() 方法将数据的内部格式转换为可读的形式。它是一种静态方法,对于所有 Java 内置的类型,在字符串内被重载,以便每一种类型都能被转换成字符串。valueOf() 方法还被类型 Object 重载,所以创建的任何形式类的对象也可被用作一个参数。这里是它的几种形式:

static String valueOf(double num)
static String valueOf(long num)
static String valueOf(Object ob)
static String valueOf(char chars[])

与前面的讨论一样,调用 valueOf() 方法可以得到其他类型数据的字符串形式——例如在进行连接操作时。对各种数据类型,可以直接调用这种方法得到合理的字符串形式。所有的简单类型数据转换成相应于它们的普通字符串形式。任何传递给 valueOf() 方法的对象都将返回对象的 toString() 方法调用的结果。事实上,也可以通过直接调用 toString() 方法而得到相同的结果。

对大多数数组,valueOf() 方法返回一个相当晦涩的字符串,这说明它是一个某种类型的数组。然而对于字符数组,它创建一个包含了字符数组中的字符的字符串对象。valueOf() 方法有一种特定形式允许指定字符数组的一个子集。

它具有如下的一般形式:

static String valueOf(char chars[ ], int startIndex, int numChars)

这里 chars 是存放字符的数组,startIndex 是字符数组中期望得到的子字符串的首字符下标,numChars 指定子字符串的长度。

2)parse()

parseXxx(String) 这种形式,是指把字符串转换为数值型,其中 Xxx 对应不同的数据类型,然后转换为 Xxx 指定的类型,如 int 型和 float 型。

3)toString()

toString() 可以把一个引用类型转换为 String 字符串类型,是 sun 公司开发 Java 的时候为了方便所有类的字符串操作而特意加入的一个方法。

相关内容

热门资讯

顺·势|超40亿元项目签约,顺... 12月29日,“智汇顺德·文旅向新”顺德文旅产业高质量发展项目发布会在佛山市顺德区举行。会上,顺德文...
最新或2023(历届)北京工业... 北京工业大学校本部位于北京市朝阳区平乐园100号,东临东四环南路,南抵左安东路,西邻西大望路,北望平...
最新或2023(历届)北京航空... 北京航空航天大学(简称“北航”,原名北京航空学院,1988年更名)创办于1952年10月,由当时清华...
最新或2023(历届)北华大学... 北华大学是吉林省省属规模最大的重点综合性大学,1999年经教育部批准,由原吉林师范学院、吉林医学院、...
最新或2023(历届)东北师范... 著名的高等学府东北师范大学是教育部直属高校,国家“211工程”重点建设大学。学校坐落在美丽的北国春城...