Java将String转换为int,将Java int转换为String

时间:2020-02-23 14:34:32  来源:igfitidea点击:

今天,我们将看一下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转换为字符串之前,值始终会转换为十进制格式,然后分配给字符串。
    从上面的输出中可以看到,所有的字符串表示形式都是十进制格式。