2

Javaプログラムでプロパティファイルを使用しています。

現在、プロパティファイルからいくつかのプロパティが必要なときはいつでも、propertyFile.getProperty(propertyKeyName);これを使用していくつかの変数に取り入れています。String propertyName1 = propertyFile.getProperty(propertyKeyName);

propertyName1変数( )を明示的に定義し、を使用して初期化せずgetProperty()に、プロパティファイルのすべてのKey = Valueを、プログラム内で「StringKey = Value」に初期化された文字列変数として取得する方法はありますか?

ありがとう、チャンドラ

4

1 に答える 1

3

いいえ。変数はコンパイル時に宣言されます-それらの名前(少なくともインスタンス/静的変数)と型はクラスファイルにベイクされます。名前が実行時にのみ知られている場合、これはどのように機能する可能性がありますか?

プロパティファイルの内容が原因で実行時に「存在しなかった」変数を参照する式を記述した場合、どうなると思いますか?

ここでできることは、リフレクションを介してクラスのインスタンスを初期化するクラスを作成することです。クラスを作成できます。

public class Person
{
    private String firstName;
    private String lastName;
    private String jobTitle;
    // Whatever... accessors etc
}

次に、リフレクションを使用してPerson、プロパティファイルから入力された値を持つのインスタンスを作成します。一部のプロパティが欠落している場合(必要な場合)、そのメカニズムはロード時に失敗する可能性があります。

于 2012-05-24T07:34:10.660 に答える