Java で文字列を Long に変換する方法

  1. Java で文字列を Long に変換するには、Long.parseLong() を使用する
  2. new Long(str).longValue() は、Java で文字列を long に変換します
  3. Java で文字列を long に変換するには、long.valueOf().longValue() を使用する

このチュートリアルでは、Java で文字列を Long に変換するメソッドについて説明します。

Java で文字列を Long に変換するには、Long.parseLong() を使用する

数値を表す文字列を Long に変換するには、Long クラスの組み込みメソッドを使うことができます。

以下の例はこれを示しています。

public class MyClass {
    public static void main(String args[]) {
        String myString = "24";
        Long myLong = Long.parseLong(myString);
        System.out.println(myLong);
    }
}

この結果は次のようになります。

> 24

しかし、入力された文字列が有効な数値を表していない場合、このメソッドはエラーをスローします。

以下の例は、このことを示しています。

public class MyClass {
    public static void main(String args[]) {
        String myString = "one";
        Long myLong = Long.parseLong(myString);
        System.out.println(myLong);
    }
}

この結果は次のようになります。

> 
Exception in thread "main" java.lang.NumberFormatException: For input string: "one"
	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.base/java.lang.Long.parseLong(Long.java:692)
	at java.base/java.lang.Long.parseLong(Long.java:817)
	at MyClass.main(MyClass.java:4)

この問題に遭遇しないように、try-catch ブロックを使うことができます。

public class MyClass {
    public static void main(String args[]) {
        String myString = "one";
        Long myLong;
        try{
            myLong = Long.parseLong(myString);
            System.out.println(myLong);

        }
        catch (Exception e) {
            System.out.println("The input string does not represent a valid number");
        }
    }
}

この結果は次のようになります。

> The input string does not represent a valid number

new Long(str).longValue() は、Java で文字列を long に変換します

数値を表す文字列を入力として受け取り、新しい long を返す新しい long オブジェクトを作成することができます。

以下の例はこれを示しています。

public class MyClass {
    public static void main(String args[]) {
        String myString = "1";
        Long myLong;
        try{
            myLong = new Long(myString).longValue();
            System.out.println(myLong);

        }
        catch (Exception e) {
            System.out.println("The input string does not represent a valid number");
        }
    }
}

この結果は次のようになります。

1

Java で文字列を long に変換するには、long.valueOf().longValue() を使用する

long クラスには、数値を表す文字列を Long に変換する別のメソッドも用意されています。

以下の例はこれを示しています。

public class MyClass {
    public static void main(String args[]) {
        String myString = "1";
        Long myLong;
        try{
            myLong = Long.valueOf(myString).longValue();
            System.out.println(myLong);

        }
        catch (Exception e) {
            System.out.println("The input string does not represent a valid number");
        }
    }
}

議論した 3つのメソッドのうち、どれを使っても有効な文字列を long に変換することができます。与えられた String が有効な数値であることが確実な場合や、例外を優雅に処理したくない場合は、try-catch ブロックをスキップすることができます。

関連記事 - Java String

  • Java で文字列が数字かどうかを調べる方法
  • Java で文字列から最後の文字を削除する方法
  • comments powered by Disqus