Javaのlong型をString型に変換する
今日は、Javaでlongを文字列に変換するさまざまな方法を見ていきます。Javaのlongから文字列への変換は、多くの方法で行うことができます。例とコードの断片を使って、それぞれの方法を順に説明します。
JavaのLongをStringに変換する方法は次の通りです:
-
- +演算子を使用する
-
- これは、Javaでlongを文字列に変換する最も簡単な方法です。
-
- long l = 123L;
-
- String str = l+””; // strは’123′
Long.toString()を使用する
LongクラスのtoStringメソッドを使用して、longの文字列表現を10進数で取得することができます。次のコードスニペットでは、Javaでlongを文字列に変換する方法を示しています。
long l = 12345L;
String str = Long.toString(l);
System.out.println(str); // ‘12345’を出力する
8進数や16進数など、他の形式でも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’を出力する
したがって、文字列は常に10進数の形式で返されます。他の方法も見てみましょう。
String.valueOf()を使用する
long l = 12345L;
String str = String.valueOf(l); // strは’12345′
new Long(long l)を使用する
Java 9から、long引数を持つLongコンストラクターは非推奨になりましたが、それを知っておくべきです。
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);
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を使用する
long l = 12345L;
String str = new StringBuilder().append(l).toString();
JavaのLongをStringに変換する例
ここには、上記で見たさまざまなメソッドを使用して、longを文字列に変換して表示する簡単なプログラムがあります。
package com.scdev.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);
// deprecated from Java 9, use valueOf for better performance
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);
}
}
上記のプログラムで長い値を8進数または16進数形式に変更すると、文字列表現は常に10進数形式であることに気付くでしょう。
Long型をString型に変換する際の基数指定について、日本語で説明を提供します。
「基数を指定して、Long型をString型に変換する方法について述べます。」
もし私たちがデフォルトの10進数ではなく、異なる基数でlong型を文字列に変換したい場合、Longクラスのメソッドを使用することができます。以下のコードスニペットは、8進数や16進数、またはカスタムの基数で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型をStringに変換する方法の説明は終わりです。参考文献:Long APIドキュメント。