システムプロパティに関して、Boolean.getBoolean(String n)や
Integer.getInteger(String n)らのメソッドに関して、使い方が
分かりません。
Properties.prps = System.getProperties();
prps.list(System.out);
などして、システムプロパティを見れることは分かりました。
また、setPropertyで設定を施すことができることも分かりました。
先に挙げたBoolean.getBoolean(String n)や
Integer.getInteger(String n)は、デフォルトのままで使用しても
falseやnullが返ってくるだけなのか?
設定するにしても、リストの項目のどれをどう設定したなら、trueや
Integer型でなんらかを返してくるのかがわかりません。
ご存知の方がおりましたら
ご教授下さいますようお願いします。
URLはダミーです。
Boolean.getBooleanやInteger.getIntegerは、システムプロパティに設定されている値を直接参照するためのメソッドですよ。引数には、参照したいシステムプロパティ名を指定します。
例えば、「Boolean.getBoolean(”abcde”)」のように記述した場合、この”abcde”という名前のシステムプロパティが存在して、その値としてtrueが設定されていれば、メソッドの戻り値がtrueになります。
Boolean.getBooleanの場合は対象となるシステムプロパティが存在しない場合はfalseが返りますが、Integer.getIntegerの場合、対象が存在しなかったり、整数でなかった場合にはnullが返ります。
確かめるには、javaコマンドの起動オプションでシステムプロパティを設定すればわかりやすいでしょう。以下のように起動します。
>java -Dabcde=true hogehoge
このように-Dオプションでシステムプロパティを追加してやれば、その値をBoolean.getBooleanとかInteger.getIntegerで参照できます。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Boolean....
Boolean (Java 2 Platform SE 5.0)
boolean ret = Boolean.getBoolean(”true”);
上記の式の結果retはtrueになります。
”true”以外の文字列を渡した場合はfalseになります。
ご回答ありがとうございます。
一応、System.out.println(”Boolean.getBoolean(”true”)”);
を実行してみましたが、結果はfalseです。
これはどんな意図がある操作なのでしょうか?(当然trueという
項目はリストにはありません)
ご回答ありがとうございます。
>>リストの項目のどれをどう設定したなら、
ということで、記入不足でしたが、(setPropertyで)例えばこれこれの
意味のある項目をこう設定すると、こんな意味になり、結果が
true(or整数値)が返ってくる、ということを知りたいと思いました。
まずは
>java -Dabcde=true hogehoge
コマンドで試してみます。ありがとうございました。