私はJavaでオブジェクト指向ライブラリとして標準を実装しています。標準には、端末を介してネットワークを経由する多くのメッセージが含まれます。すべてのメッセージは単一のクラスとして実装されています。フィールドの値をJavaで定数として定義する
フィールドのいくつかはchar型として表され、これらのフィールドは標準で定義されている値のいずれかを持ちます。例えば、
public class OutgoingMessage {
private char action;
とアクションは、これらの値を持って、クラスの
'0' - Do not print
'1' - Print
'2' - Print and Forward
'3' - Print and Reply
'F' - Forward
'R' - Reply
また、いくつかは、このような2つの以上のフィールドを持っています。これらの状況では、それらをクラスの定数として定義するのは面倒です。
だから私は
public class OutgoingMessage {
private char action;
public final class ActionTypes {
public static final char DO_NOT_PRINT = '0';
public static final char PRINT = '1';
...
そして、あなたはどう思いますか
...
message.setAction(OutgoingMessage.ActionTypes.DO_NOT_PRINT);
...
message.setFooBar(OutgoingMessage.FooBarTypes.FOO_BAR);
...
以下のように使用してこれらの値を実装しようとしていますか?このアプローチに何か問題はありますか?ライブラリでこれらの定数をどのように定義しますか?
どうもありがとうint
またはchar
定数に優先して
私には意味がある – RMT
これは問題ありません。あなたは少なくともjdkを使用する場合enumを使用することもできます1.5 – Rudy
私にも完全にうまく見えます。 – Kainsin