Javaのラッパークラスの種類と使い方を現役エンジニアが解説【初心者向け】

初心者向けにJavaのラッパークラスの種類と使い方について解説しています。各基本データ型に対応したラッパークラスの名称と、ラッパークラスを使った文字列から数値への変換方法を見ていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Javaのラッパークラスの種類と使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

ラッパークラスの種類と使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

ラッパークラスとは

int型やchar型といった基本データ型変数は、あくまで数値や文字を保管しておくことしかできず、文字列を扱うStringクラスのようにメソッドなどは用意されていません。

そんなときに役立つのがラッパークラスです。8つの基本データ型には、対応するクラスが用意されています。

 

ラッパークラスの種類

ラッパークラスは、基本データ型に対応した、下記の8つです。

ラッパークラス名 基本データ型
Byte byte
Short short
Integer int
Long long
Float float
Double double
Character char
Boolean boolean

 

[PR] Javaで挫折しない学習方法を動画で公開中

ラッパークラスを使った文字列と数値の変換

数値形式の文字列を数値そのものに変換するには、ラッパークラスで用意されているparseXXXメソッドを使用します。XXXの部分はラッパークラス毎に異なり、下記のようにメソッドが用意されています。

    • Byteクラス
static byte parseByte(String s)
    • Shortクラス
static short parseShort(String s)
    • Integerクラス
static int parseInt(String s)
    • Longクラス
static long parseLong(String s)
    • Floatクラス
static float parseFloat(String s)
    • Doubleクラス
static double parseDouble(String s)

数値形式でない文字列を変換しようとすると、コンパイルエラーとはなりませんが実行時に「java.lang.NumberFormatException: For input string」というエラーが発生します。

 

実際に書いてみよう

文字列「123」を数値に変換し、1を足した値を出力するプログラムを作成し、出力結果を確認しておきましょう。

public class ParseSample {
	public static void main(String[] args) {
		String str = "123";

		System.out.println("parseByte  : " + (Byte.parseByte(str) + 1));
		System.out.println("parseShort : " + (Short.parseShort(str) + 1));
		System.out.println("parseint   : " + (Integer.parseInt(str) + 1));
		System.out.println("parseFloat : " + (Float.parseFloat(str) + 1));
		System.out.println("parseDouble: " + (Double.parseDouble(str) + 1));
	}
}

実行結果

parseByte  : 124
parseShort : 124
parseint   : 124
parseFloat : 124.0
parseDouble: 124.0

 

まとめ

ラッパークラスを利用することにより、明確にデータ型の変換を行うことができます。使用するケースは多いですので、しっかりと使い方を把握しておきましょう。

 

監修してくれたメンター

松井紀明

メーカー系で17年エンジニアとして勤務後、現在はフリーのエンジニアとしてリモートワークで働いています。

Java、Perl、COBOL、最近ではRuby、PHP等、様々な言語での開発を経験しています。TechAcademyではJavaコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。