Java long转String:4种高效方法与实例

Java long类型转换为字符串的多种方法详解

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

将Java的long类型转换为字符串

java long to string

方法一:使用+运算符

这是将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文档

bannerAds