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

Hassan Saeed 2023年10月12日
  1. Java で文字列を Long に変換するには、Long.parseLong() を使用する
  2. new Long(str).longValue() は、Java で文字列を long に変換する
  3. Java で文字列を long に変換するには、Long.valueOf().longValue() を使用する
Java で文字列を Long に変換する方法

このチュートリアルでは、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 Long

関連記事 - Java String