はじめに

C言語やC++のコードをJavaに移植する際、C言語で固定値の宣言に利用されるプリプロセッサ命令「#define」の置き換えに苦慮される方も多いと思います。

このページでは、この「#define」をJavaでどのように置き換えればよいのか説明します。

定数の宣言方法「public static final」

Javaにて、固定値の宣言する場合には、「public static final」な変数として定義します。

サンプルコード
public class Constants
{
    public static final int COLOR_WHITE=0x00ffffff;
    public static final int COLOR_BLACK=0x00000000;
}

このように定義を行うと、クラス内からは「COLOR_WHITE」「COLOR_BLACK」の形で直接参照することが可能です。
また、クラス外からは「Constants.COLOR_WHITE」「Constants.CLOLOR_BLACK」の形で参照することが可能です。

switch-case文で固定値を利用するときの注意

switch-case文において、case節での値の指定に変数固定値を利用する場合には、変数に対して「final」宣言をすることを忘れないでください。

final宣言を行わないと、コンパイル時に下記のようなエラーになります。

コンパイルエラー
xxxxxxxx.java:xxx: 定数式が必要です。
                                        case COLOR_WHITE:
                                             ^


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まさにこれだ
9 (75%)
参考になった
2 (17%)
これじゃない
1 (8%)

表示できるメッセージはありません。