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

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 的时候为了方便所有类的字符串操作而特意加入的一个方法。

相关内容

热门资讯

最新或2023(历届)春暖花开...   春暖花开的黑板报版面设计【一】  春暖花开的黑板报版面设计【二】  春暖花开的黑板报版面设计【三...
最新或2023(历届)春暖花开...   春暖花开黑板报图片【一】  春暖花开黑板报图片【二】  春暖花开黑板报图片【三】  春暖花开黑板...
关于最新或2023(历届)小学...   最新或2023(历届)小学生元宵节黑板报版面设计图【一】  最新或2023(历届)小学生元宵节黑...
描写春天的手抄报三年级最新或2... 描写春天的手抄报01描写春天的手抄报02描写春天的手抄报03  春雨的句子  1、春雨淅淅沥沥,如牛...
最新或2023(历届)小学生春... 小学生春天的图画手抄报图片【1】小学生春天的图画手抄报图片【2】小学生春天的图画手抄报图片【3】  ...
最新或2023(历届)新学期新...   新学期新气象黑板报【一】  新学期新气象黑板报【二】  新学期新气象黑板报【三】  新学期新气象...
最新或2023(历届)关于迎接...   迎接新学期黑板报资料内容【一】  迎接新学期黑板报资料内容【二】  迎接新学期黑板报资料内容【三...
最新或2023(历届)开学了黑...   最新或2023(历届)开学了黑板报【一】  最新或2023(历届)开学了黑板报【二】  最新或2...
最新或2023(历届)开学黑板...   开学黑板报版面设计【一】  开学黑板报版面设计【二】  开学黑板报版面设计【三】  开学黑板报版...
最新或2023(历届)高中安全...   高中安全主题黑板报版面设计【一】  高中安全主题黑板报版面设计【二】  高中安全主题黑板报版面设...
关于最新或2023(历届)元宵...   最新或2023(历届)元宵节黑板报图片【一】  最新或2023(历届)元宵节黑板报图片【二】  ...
最新或2023(历届)生命安全...   生命安全主题黑板报图片【一】  生命安全主题黑板报图片【二】  生命安全主题黑板报图片【三】  ...
最新或2023(历届)安全主题...  最新或2023(历届)安全主题黑板报【一】  最新或2023(历届)安全主题黑板报【二】  最新或...
小学生最新或2023(历届)新... 小学生新学期的打算手抄报01小学生新学期的打算手抄报02小学生新学期的打算手抄报03  新学期的打算...
最新或2023(历届)新学期打... 最新或2023(历届)新学期打算手抄报图片1最新或2023(历届)新学期打算手抄报图片2最新或202...
最新或2023(历届)小学生迎... 迎接新学期手抄报图片01迎接新学期手抄报图片02迎接新学期手抄报图片03  春季新学期寄语  过了一...
最新或2023(历届)畅想新学... 最新或2023(历届)畅想新学期手抄报内容一最新或2023(历届)畅想新学期手抄报内容二最新或202...
最新或2023(历届)中秋节手...   老话说“八月十五,菊黄蟹肥”,《红楼梦》第38回就写到一场中秋螃蟹宴。史湘云在“藕香榭”大摆螃蟹...
关于最新或2023(历届)春季... 春季新学期开学了手抄报设计图01春季新学期开学了手抄报设计图02春季新学期开学了手抄报设计图03  ...
最新或2023(历届)小学新学... 小学新学期手抄报图片01小学新学期手抄报图片02小学新学期手抄报图片03  新学期开学横幅标语  1...