个性化阅读
专注于IT技术分析

Java中整数到字符串转换的不同方法有哪些?

使用Integer.toString(int)进行转换

Integer类具有一个静态方法, 该方法返回一个String对象, 该对象表示指定的int参数。

句法 :

public static String toString(int i)

参数i被转换为一个字符串实例并返回。如果数字是负数,则保留符号。

示例:

class GfG
{
   public static void main(String args[])
   {
     int a = 1234 ;
     int b = - 1234 ;
     String str1 = Integer.toString(a);
     String str2 = Integer.toString(b);
     System.out.println( "String str1 = " + str1); 
     System.out.println( "String str2 = " + str2);
   }
}

输出如下:

String str1 = 1234
String str2 = -1234

使用String.valueOf(int)进行转换

示例:

class GfG
{
   public static void main(String args[])
   {
     int c = 1234 ;
     String str3 = String.valueOf(c);
     System.out.println( "String str3 = " + str3);
   }
}

or

class GfG
{
   public static void main(String args[])
   {
     String str3 = String.valueOf( 1234 );
     System.out.println( "String str3 = " + str3);
   }
}

输出如下:

String str3 = 1234

使用Integer(int).toString()进行转换

此方法使用Integer类的实例来调用其toString()方法。

示例:

class GfG
{
   public static void main(String args[])
   {
     int d = 1234 ;
     Integer obj = new Integer(d);
     String str4 = obj.toString();
     System.out.println( "String str4 = " + str4);
   }
}

or

class GfG
{
   public static void main(String args[])
   {
     int d = 1234 ;
     String str4 = new Integer(d).toString();
     System.out.println( "String str4 = " + str4);
   }
}

or

class GfG
{
   public static void main(String args[])
   {
     String str4 = new Integer( 1234 ).toString();
     System.out.println( "String str4 = " + str4);
   }
}

输出如下:

String str4 = 1234

如果你的变量是基本类型(int), 则最好使用Integer.toString(int)或String.valueOf(int)。但是, 如果你的变量已经是Integer的实例(原始类型为int的包装器类), 则最好如上所述调用它的toString()方法。

此方法效率不高, 因为在执行转换之前已创建Integer类的实例。

使用DecimalFormat进行转换

类java.text.DecimalFormat是将数字格式化为字符串的类。

示例:

import java.text.DecimalFormat;
class GfG
{
   public static void main(String args[])
   {
     int e = 12345 ;
     DecimalFormat df = new DecimalFormat( "#" );
     String str5 = df.format(e);
     System.out.println(str5);
   }
}

输出如下:

String str5 = 12345

or

import java.text.DecimalFormat;
class GfG
{
   public static void main(String args[])
   {
     int e = 12345 ;
     DecimalFormat df = new DecimalFormat( "#, ###" );
     String Str5 = df.format(e);
     System.out.println(Str5);
   }
}

输出如下:

String str5 = 12, 345

使用此方法, 可以指定小数位数和逗号分隔符以提高可读性。

使用StringBuffer或StringBuilder进行转换

StringBuffer是用于将多个值连接到String中的类。 StringBuilder的工作原理类似, 但不像StringBuffer那样具有线程安全性。

StringBuffer示例

class GfG
{
   public static void main(String args[])
   {
     int f = 1234 ;
     StringBuffer sb = new StringBuffer();
     sb.append(f);
     String str6 = sb.toString();
     System.out.println( "String str6 = " + str6);
   }
}

or

class GfG
{
   public static void main(String args[])
   {
     String str6 = new StringBuffer().append( 1234 ).toString();
     System.out.println( "String str6 = " + str6);
   }
}

输出如下:

String str6 = 1234

StringBuilder示例

class GfG
{
   public static void main(String args[])
   {
     int g = 1234 ;
     StringBuilder sb = new StringBuilder();
     sb.append(g);
     String str7 = sb.toString();
     System.out.println( "String str7 = " + str7);
   }
}

or

class GfG
{
   public static void main(String args[])
   {
     String str7 = new StringBuilder().append( 1234 ).toString();
     System.out.println( "String str7 = " + str7);
   }
}

输出如下:

String str7 = 1234

用特殊基数转换

上面的所有示例都使用基数(基数)10。下面是转换为二进制, 八进制和十六进制系统的便捷方法。还支持任意的自定义编号系统。

例子 :

二进制

class GfG
{
   public static void main(String args[])
   {
     int h = 255 ;
     String binaryString = Integer.toBinaryString(h);
     System.out.println(binaryString);
   }
}

输出如下:

11111111

11111111是数字255的二进制表示。

八进制

class GfG
{
   public static void main(String args[])
   {
     int i = 255 ;
     String octalString = Integer.toOctalString(i);
     System.out.println(octalString);
   }
}

输出如下:

377

377是数字255的八进制表示形式。

十六进制

class GfG
{
   public static void main(String args[])
   {
     int j = 255 ;
     String hexString = Integer.toHexString(j);
     System.out.println(hexString);
   }
}

输出如下:

ff

ff是数字255的十六进制表示形式。

自定义基数/基数

将int转换为String时, 可以使用任何其他自定义基数/基数。

以下示例使用以7为底的数字系统。

class GfG
{
   public static void main(String args[])
   {
     int k = 255 ;
     String customString = Integer.toString(k, 7 );
     System.out.println(customString);
   }
}

输出如下:

513

513是写在base 7系统中的数字255的表示。

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

赞(0) 打赏
未经允许不得转载:srcmini » Java中整数到字符串转换的不同方法有哪些?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏