Javaでシステムプロパティ(-D
から始まるパラメータ)から整数を取得するのはとても簡単です。
IntegerのgetInteger(String, int)メソッドを使うだけです。
Demo.java
public class Demo {
// 今回のサンプルでは myapp.loop.count というシステムプロパティとする
private static final String SYSTEM_PROP_KEY = "myapp.loop.count";
public static void main(String[] args) {
// ★ポイント
Integer count = Integer.getInteger(SYSTEM_PROP_KEY, 10);
String value = "";
for (int i = 0; i < count; i++) {
value = value + "*";
System.out.println(value);
}
}
}
★ポイント
第一引数はシステムプロパティのキー(文字列)、第二引数はデフォルト値になります。
デフォルト値はシステムプロパティが設定されていない場合や、設定した値がIntegerに変換できない場合に適用されます。
試しに実行してみる
C:\temp>javac Demo.java
C:\temp>java Demo
*
**
***
****
*****
******
*******
********
*********
**********
C:\temp>java -Dmyapp.loop.count=5 Demo
*
**
***
****
*****
C:\temp>java -Dmyapp.loop.count=x Demo
*
**
***
****
*****
******
*******
********
*********
**********
C:\temp>
最初はシステムプロパティを設定していない場合です。この場合はデフォルト値の10となります。
二回目はシステムプロパティで5を設定した場合です。この場合はしっかりと5が設定されます。
最後はシステムプロパティにIntegerに変換できない値(例ではx)を設定した場合です。この場合もデフォルト値の10となります。
システムプロパティから整数を取得したい場合、わざわざSystem.getProperty(String)を使う必要がないので簡単ですね!
以下は新人向けの記事です。参考までに。