JAVA基础之String与Integer的转换

我刷Leetcode题目的时候,经常会遇到变量类型转化的问题,方法也有很多种,经常容易混淆。所以特地总结以下内容:

1,String转换为Integer

1,Integer类的静态方法valueof()

String str = "123";
Integer i =Integer.valueOf(str);

2,Integer.parseInt(String s)

String str = "123";
Integer i2 = Integer.parseInt(str);

2,Integer类型转换为String类型

1,Integer类的静态方法toString()

Integer a = 111;
String str = Integer.toString(a);

2,Integer类的成员方法toString()

Integer a = 111;
String str = a.toString();

3,String类的静态方法valueOf()

Integer a = 111;
String str = String.valueOf(a);

3,char类型转换为int

1,利用字符的ASCALL码值进行转化

a,由于字符1的Ascall码的值为49,当用字符类型的变量减去int类型的变量时,会自动用字符型的ASCII编码值去进行操作,因此返回的就是int型的1。

char c = '1';
int c1= c-48;

b,在ASCII编码中,字符1与字符0的差值等于数字1,所以这样就可以在不装箱拆箱的情况下完成转换。

char c = '1';
int c2=c-'0';

2,进行类型强转

 char c = '1';
 int c3=(int)c;

PS:当读者进行测试后,会发现c3的结果不是1,而是49。这是因为当我们将char类型强转为int型时,返回的是字符的ASCII编码值,而不是其本身。

    原文作者:王二黑_Leon
    原文地址: https://blog.csdn.net/qq_44085437/article/details/124650977
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞