Java将String转换为int,将Java int转换为String
今天,我们将看一下Java String到int的转换,然后是java int到String的转换。
Java提供了几种将String转换为int以及将int转换为String的方法。
Java字符串到int
- 使用
Integer.parseInt
方法 - 使用
Integer.valueOf
方法 - 使用上述方法使用不同的基数。
Java String to int示例
让我们编写一个简单的Java程序将String转换为int,注意String是一个Object,而int是原始数据类型。
整数可以十进制,十六进制,八进制二进制或者任何其他非标准格式写入。
Java 7的功能之一是Binary Literals。
在此示例中,我们将探讨如何使用不同的基数值将String转换为int。
package com.theitroad.string; public class JavaStringToInt { public static void main(String[] args) { String str = "10"; int x = Integer.parseInt(str); System.out.println("Java String to int value using Integer.parseInt() = "+x); int y = Integer.valueOf(str); System.out.println("Java String to int value using Integer.valueOf() = "+y); String binary = "0100"; //4 int a = Integer.valueOf(binary, 2); int b = Integer.parseInt(binary, 2); System.out.println("Java Binary String to int value = "+a); System.out.println("Java Binary String to int value = "+b); String octal = "0100"; //64 int c = Integer.valueOf(octal, 8); int d = Integer.parseInt(octal, 8); System.out.println("Java Octal String to int value = "+c); System.out.println("Java Octal String to int value = "+d); String hexadecimal = "0100"; //256 int e = Integer.valueOf(hexadecimal, 16); int f = Integer.parseInt(hexadecimal, 16); System.out.println("Java hexadecimal String to int value = "+e); System.out.println("Java hexadecimal String to int value = "+f); String customRadix = "0100"; //25 int g = Integer.valueOf(customRadix, 5); int h = Integer.parseInt(customRadix, 5); System.out.println("Java String with radix 5 to int value = "+g); System.out.println("Java String with radix 5 to int value = "+h); } }
上面程序的输出是:
Java String to int value using Integer.parseInt() = 10 Java String to int value using Integer.valueOf() = 10 Java Binary String to int value = 4 Java Binary String to int value = 4 Java Octal String to int value = 64 Java Octal String to int value = 64 Java hexadecimal String to int value = 256 Java hexadecimal String to int value = 256 Java String with radix 5 to int value = 25 Java String with radix 5 to int value = 25
如果String以十进制格式表示int,则Interegr.parseInt(String str)是将String转换为int的最常用方法。
在内部,它调用基数为10的方法Interegr.parseInt(String str,int radix)
。通过将redix值传递为2,我们可以将Binary int表示形式的String转换为int,对于其他已知格式Octal,十六进制也是如此。
最小基数为2,最大基数为36。
对于基数36,它包括0到9,然后包括A(10)到Z(36)。
从String到int的转换不区分大小写。Integer.valueOf(String str)也是一种将String转换为int的方法。
从上面的示例代码可以看到,还有一个重载的方法可以传递基数。如果String表示形式不包含可解析的整数,则上述两种方法都将抛出NumberFormatException。
字符串表示形式应仅包含值,而不应包含与int相关联的基数前缀,例如0x,0b等。
Java int转换为String
使用+运算符将int连接到字符串。
使用
String.valueOf
方法。使用String.format方法
Java int到String的示例
让我们编写一个简单的程序,使用不同的方法将java int转换为String对象。
package com.theitroad.string; public class JavaIntToString { public static void main(String[] args) { int i = 10; int j = 0xEF; int k = 0123; int l = 0b111; String str = "" + i; String str1 = String.valueOf(j); String str2 = String.format("%d", k); String str3 = "" + l; System.out.println(i + " decimal int to String " + str); System.out.println(j + " hexadecimal int to String " + str1); System.out.println(k + " octal int to String " + str2); System.out.println(l + " binary int to String " + str3); } }
上面程序的输出是:
10 decimal int to String 10 239 hexadecimal int to String 239 83 octal int to String 83 7 binary int to String 7
String重载了" +"运算符,可用于将int转换为String。
它还照顾不同的格式,例如十六进制,八进制,二进制,并在返回最终的String对象之前将它们转换为十进制格式。String.valueOf(int i)可用于将int转换为String。
重载了valueOf()方法以接受float,long,double等。
在内部,它使用Integer.toString(int i)方法返回String对象。String.format(String format,Object ... args)
也是将int转换为String对象的另一种方法。在将int转换为字符串之前,值始终会转换为十进制格式,然后分配给字符串。
从上面的输出中可以看到,所有的字符串表示形式都是十进制格式。