Java long转String:4种高效方法与实例
Java long类型转换为字符串的多种方法详解
今天我们将学习在Java中将long类型转换为字符串的不同方法。Java中有多种方式可以将long类型转换为字符串,我们将逐一进行演示并提供示例代码片段。
将Java的long类型转换为字符串

方法一:使用+运算符
这是将long类型转换为字符串的最简单方法。
long l = 123L;
String str = l + ""; // str 的值为 '123'
方法二:使用Long.toString()方法
我们可以使用Long类的toString方法来获得long类型的十进制字符串表示。下面的代码片段展示了如何将long类型转换为字符串。
long l = 12345L;
String str = Long.toString(l);
System.out.println(str); //输出为 '12345'
我们还可以使用其他进制格式表示long类型,比如八进制和十六进制,让我们看看在这些情况下将long类型转换为字符串会发生什么。
long l = 0x11L; // 十六进制
String str = Long.toString(l);
System.out.println(str); //输出为 '17'
l = 011L; // 八进制
str = Long.toString(l);
System.out.println(str); //输出为 '9'
因此,使用Long.toString()方法始终返回十进制格式的字符串。让我们看看其他将long类型转换为字符串的方法。
方法三:使用String.valueOf()方法
long l = 12345L;
String str = String.valueOf(l); // str 的值为 '12345'
方法四:使用Long构造函数
Long构造函数的long参数在Java 9中已弃用,但您应该了解它。
long l = 12345L;
//从Java 9开始弃用,为了更好的性能,请使用valueOf方法
String str = new Long(l).toString(); // str 的值为 '12345'
方法五:使用String.format()方法
long l = 369L;
String s = String.format("%d", l); // s 的值为 '369'
方法六:使用DecimalFormat类
long l = 12345L;
String str = DecimalFormat.getNumberInstance().format(l);
System.out.println(str); //str 的值为 '12,345'
//如果不想格式化
str = new DecimalFormat("#").format(l);
System.out.println(str); //str 的值为 '12345'
方法七:使用StringBuilder或StringBuffer
我们可以使用StringBuilder和StringBuffer的append方法将long类型转换为字符串。
long l = 12345L;
String str = new StringBuilder().append(l).toString(); // str 的值为 '12345'
Java long类型转换为String的完整示例
以下是一个简单的程序,在这个程序中,我们将把long类型转换为字符串,并使用前面所看到的所有不同方法进行打印。
package com.Olivia.string;
import java.text.DecimalFormat;
public class JavaLongToString {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
long l = 12345L;
String str = Long.toString(l);
System.out.println(str);
str = String.valueOf(l);
System.out.println(str);
// 从Java 9开始弃用,为了更好的性能,请使用valueOf方法
str = new Long(l).toString();
System.out.println(str);
str = String.format("%d", l);
System.out.println(str);
str = l + "";
System.out.println(str);
str = DecimalFormat.getNumberInstance().format(l);
System.out.println(str);
str = new DecimalFormat("#").format(l);
System.out.println(str);
str = new StringBuilder().append(l).toString();
System.out.println(str);
}
}
将上述程序中的long类型的值更改为八进制或十六进制格式,您会注意到字符串表示始终为十进制格式。
将long类型转换为指定进制的字符串
如果我们想将long类型转换为不同进制的字符串,而不是默认的十进制,我们可以使用Long类的方法来进行这些转换。下面的代码片段显示了如何以二进制、八进制、十六进制甚至自定义进制的格式获取long类型变量的字符串表示。
long number = 45;
System.out.println(Long.toBinaryString(number)); // 输出: 101101 (二进制)
System.out.println(Long.toOctalString(number)); // 输出: 55 (八进制)
System.out.println(Long.toHexString(number)); // 输出: 2d (十六进制)
System.out.println(Long.toString(number, 5)); // 输出: 140 (五进制)
以上就是关于在Java中将long类型转换为字符串的全部内容。参考资料:Long API文档。