Javaの使い方
- システム
エンジニア - Javaとは、どのようなものなのでしょうか?
- プロジェクト
マネージャー - アプリケーションを作るだけではなく、セキュリティのあるアプリケーションを作ることができるプログラミング言語です。
Javaでenumを使う方法
Javaにおけるenumの使い方を見ていきましょう。まず、「Java」とはどのようなプログラミング言語なのでしょうか。また、「enum」についても順に説明します。実際のソースコードを交えてenumの説明をしますので、ぜひ参考にしてみてください。
Javaとは?
Javaとは、Web上やスマートフォンなどのアプリケーションをただ作るだけではなく、使いやすさ・速度・汎用性・移植性があり、セキュリティのあるアプリケーションを作ることができるプログラミング言語です。もちろん他の言語でも1つ1つを満たす言語は多くあります。しかしこれらを同時に満たしつつ古くからある言語は多くはありません。Javaを習得しているプログラマーは多くいます。これはプログラミング言語を学ぶ際の選択肢に入れる理由になるのではないでしょうか。この記事では、そのようなJavaにおけるenumの使い方を見ていきます。
enum(列挙型)とは?
enumとは「列挙型」を意味します。単純な説明としては「定数」と表現できます。この列挙型は特定の値のみをもつ型で、かつその値はプログラマーが任意に定義することができる型です。この列挙型を定義するにはenumキーワードを使って宣言していきます。今回は野球・サッカー・バスケ・テニス・バトミントンといった値をもつSportというenumを例に定義します。
enumの設定方法
Sportというenumの定義例は以下です。これはSport.javaファイルの例です。
1
2
3
|
package jp.co.aaa;public enum Sport {
BASEBALL,SOCCER,BASKETBALL,TENNIS,BADMINTON
}
|
このクラスをコンパイルするとSport.classファイルが生成されます。
1
2
3
4
5
6
7
8
9
10
|
//一部抜粋
public final enum jp.co.aaa.Sport {
public static final enum jp.co.aaa.Sport BASEBALL;
public static final enum jp.co.aaa.Sport SOCCER;
public static final enum jp.co.aaa.Sport BASKETBALL;
public static final enum jp.co.aaa.Sport TENNIS;
public static final enum jp.co.aaa.Sport BADMINTON;
public static jp.co.aaa.Sport[] values();
public static jp.co.aaa.Sport valueOf(java.lang.String arg0);
}
|
values(), valueOf()というメソッドが追加されています。これらはenumキーワードをつけたことでJavaのコンパイラによって付与されます。次はこれらのメソッドの使い方を見ていきます。
列挙型[] values()
values()メソッドは定義した全ての列挙型を配列で返します。使い方は以下のように定義したenumを通じて使用できます。
1
2
3
4
5
6
7
|
public class EnumPrintSample {
public static void main(String[] args) {
for(Sport sport : Sport.values()) {
System.out.println(sport);
}
}
}
|
上記の使い方で以下の出力を得られます。
1
2
3
4
5
|
BASEBALL
SOCCER
BASKETBALL
TENNIS
BADMINTON
|
列挙型 valueOf()
valueOf(String name)メソッドは引数で指定された列挙型を返します。使い方は以下のように定義したenumを通じて使用できます。
1
2
3
4
5
6
|
public class EnumPrintSample {
public static void main(String[] args) {
Sport favorite = Sport.valueOf("BASEBALL");
System.out.println(favorite);
}
}
|
上記の使い方で以下の出力を得ることができます。
1
|
BASEBALL
|
switch文での列挙型判定
基本的な宣言、メソッドを見てきたので実際の分岐処理で使い方を見ていきます。Sportを例にすると以下のように分岐できます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class EnumPrintSample {
public static void main(String[] args) {
Sport favorite = Sport.valueOf("BASEBALL");
switch(favorite) {
case BASEBALL:
case SOCCER:
case BASKETBALL:
System.out.println(favorite + "はラケットを使いません");
break;
case TENNIS:
case BADMINTON:
System.out.println(favorite + "はラケットを使います");
break;
}
}
}
|
上記の使い方で以下の出力を得られます。
1
|
BASEBALLはラケットを使いません
|
enumのコンストラクタ、変数、メソッド定義
enumも任意のコンストラクタ、変数、メソッドを定義することができます。この使い方を見ていきましょう。先程のSportを以下のように変更していきます。
1
2
3
4
5
6
7
8
9
10
11
12
|
public enum Sport {
BASEBALL(1),SOCCER(2),BASKETBALL(3),TENNIS(4),BADMINTON(5);
private int code;
//スポーツコード
/** * コンストラクタ * @param code スポーツコード */
Sport(int code){
this.code = code;
}
public int getCode() {
return code;
}
}
|
それぞれのスポーツにcodeというint型の値を持たせることができるようになりました。これにより以下のように定数としてより扱いやすくなります。
1
2
3
4
5
6
|
public class EnumPrintSample {
public static void main(String[] args) {
Sport favorite = Sport.BASEBALL;
System.out.println(favorite + "のコード値:" + favorite.getCode());
}
}
|
上記の使い方で以下の出力を得られます。
1
|
BASEBALLのコード値:1
|
enumの使い方まとめ
ここまで、enumの使い方を見てきましたが、いかがでしたか。ここでは、enumの使い方についてのポイントをまとめました。
- enumは任意の値で定数を定義できる
- values()、valueOf()といったメソッドが追加される
- switch文などの分岐処理に使える
- コンストラクタ、変数、メソッドを定義できる
- システム
エンジニア - Javaにおけるenumの基本的な使い方を理解することで、仕事の幅も広がりそうですね。
- プロジェクト
マネージャー - そうですね。Javaを使ったことがない人も、enumの基本的な使い方と共にマスターしましょう!
Javaにおけるenumの基本的な使い方を知ろう!
この記事では、Javaにおけるenumの基本的な使い方を見てきましたが、いかがでしたでしょうか。ぜひenumを定義して使ってみましょう。ここでは紹介しきれなかったメソッドや使い方に触れることで、よりenumの理解を深めていくことができます。Javaは多くのデバイスで利用されています。業務のWebアプリケーションでも、スマートフォンアプリなどでも活躍の場があります。今までJavaを使ったことがない人も、この機会にぜひ学習してみてください。また、Javaの最新バージョンは14です。(2020年5月27日時点)様々な新機能が出ているため、すでに使ったことがある人も、もう一度おさらいしてみてはいかがでしょうか。
FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
Java新着案件New Job
-
官公庁向け業務システム開発/Java/東京都千代田区/【WEB面談可】/テレワーク
月給39万~44万円東京都千代田区(永田町駅) -
販売管理システム開発/Java/東京都中央区/【WEB面談可】/テレワーク
月給49万~55万円東京都中央区(京橋駅) -
生命保険会社向けシステム開発/Java/東京都千代田区/【WEB面談可】/テレワーク
月給42万~48万円東京都千代田区(大手町駅) -
社会保険システムのパッケージ開発/Java/東京都港区/【WEB面談可】/テレワーク
月給42万~48万円東京都港区(新橋駅) -
金融機関向けシステム更改/Java/東京都江東区/【WEB面談可】/テレワーク
月給46万~51万円東京都江東区(豊洲駅) -
大手通信会社者向けWebシステム改修/Java/東京都港区/【WEB面談可】/テレワーク
月給42万~48万円東京都港区(品川駅)