4

名前と値のペアで事前定義された定数を宣言する場合、「java.util.Properties」、「enums」、または「publicstaticfinal」値を持つ別のクラスからランダムに選択しています。

将来の参考のために、どのアプローチを取るかについてのガイドラインが必要です。

ありがとう!

4

4 に答える 4

4

それはすべて、一定のライフサイクルに依存します。定数とは、定義上、動かないものです。適切な方法を選択することは、変更の可能性と再パッケージ化の必要性の問題になります。

  • あなたが本当に確信しているなら、それは決して動かないでしょう.static finalが道です. 円周率、数学定数、そのようなものが良い例です。

  • 潜在的な変更があると思われるが、コード操作の容易さが必要で、優勢な互換性を恐れない場合は、列挙型は問題ありません。少し前にエラーコードに対してそれを行いました。

  • 潜在的な変更があると思われるが、この変更がコードに影響を与えたくない場合は、プロパティ (リソース バンドルを使用) を選択することをお勧めします。ラベル(翻訳)、初期設定なども良い例です。

于 2012-01-14T19:31:56.730 に答える
2

static finalフィールドは、変数の状態を選択できる閉じたオプションの明確なセットを形成できない場合に使用されます。逆に、可能な場合は常に列挙型を使用します。

ここで、キー値のディクショナリをその性質に関係なく保持したい場合は、プロパティタイプのオブジェクトまたは場合によってはマップを使用するときが来ました。

于 2012-01-14T19:22:13.307 に答える
0

考慮すべきもう 1 つのこと - これらの文字列は異なるバージョンで変更されますか? つまり、フランス語版、中国語版、「高度な」版がありますか? もしそうなら、Properties / ResourceBundles などが行く方法です。

于 2012-01-14T19:56:48.817 に答える