Java:型変換Integer.parseIntと(int)の違い
※自分用学習メモです
Integer.parseInt と (int) の違いは、型変換の用途と使われる場面に関係しています。
1. Integer.parseInt
用途: Integer.parseInt は文字列を整数に変換するためのメソッドです。
使われる場面: 例えば、"123" のような数値を表す文字列をint型の整数に変換したい場合に使います。
String numberStr = "123";
int number = Integer.parseInt(numberStr); // "123" を整数 123 に変換
System.out.println(number); // 出力: 123
ここでは、"123" という文字列を整数の 123 に変換しています。これは、文字列のデータ型(String)を数値データ型(int)に変換するためのメソッドです。
2. (int) キャスト(型変換)
用途: (int) は、他のデータ型から int 型にキャスト(型変換)するために使います。
使われる場面: 例えば、浮動小数点型の値(double や float)をint型に変換したい場合などに使います。この場合、小数部分は切り捨てられます。
例:
double pi = 3.14159;
int truncatedPi = (int) pi; // 3.14159 を整数 3 に変換 (小数部分が切り捨てられる)
System.out.println(truncatedPi); // 出力: 3
ここでは、double 型の変数 pi を int 型にキャストしています。キャストはデータ型を変換するための方法であり、double を int に変換する際には小数部分が切り捨てられることに注意してください。
違いのまとめ
変換の対象:
Integer.parseInt: 文字列から int 型に変換。
(int): 他の**数値型(主に浮動小数点型)**から int 型に変換。
使われる場面:
Integer.parseInt: 数値を表す文字列を int 型に変換するために使います。
(int): 数値型のキャストとして使い、他の型(主に double や float など)から int 型に変換するために使います。
文字列に使うとき:
(int) は文字列には使えません。文字列を整数に変換したい場合は Integer.parseInt が必要です。
使用例の違い:
Integer.parseInt の例:
String str = "456";
int number = Integer.parseInt(str); // 文字列 "456" を int の 456 に変換
System.out.println(number); // 出力: 456
(int) キャストの例:
double decimalValue = 123.45;
int integerValue = (int) decimalValue; // 123.45 を int の 123 にキャスト
System.out.println(integerValue); // 出力: 123
補足:
Integer.parseInt は、入力が数値でない文字列を与えると例外(NumberFormatException)をスローするので、入力の形式に注意する必要があります。
この記事が気に入ったらサポートをしてみませんか?