【解決方法】javaのコマンドラインからブール値をチェックする


みなさん、こんにちは。以下のコードがコマンド プロンプトから “false” を返す理由を理解したいと思います。 コマンドラインから引数を渡しました。 Boolean.valueOf(“a string”) が String を Boolean 型に変換し、プリミティブ型 boolean “b” に保存することは、Java の Auto-Unboxing によって可能であることを知っています。 String を boolean プリミティブ tpye と比較していますか? 助けてくれてありがとう。

boolean b = new Boolean(Boolean.valueOf(args[0]));
		System.out.println(b);

これはコマンドラインから引数が渡される方法で、クラス名は Test です。
javac Test.java
Java テスト 1

私が試したこと:

boolean b = new Boolean(Boolean.valueOf(args[0]));
		System.out.println(b);

解決策 1

ドキュメントを見てください: Java.lang.Boolean.valueOf() メソッド[^]

引用:

返されるブール値は、文字列引数が null ではなく、大文字と小文字を区別せずに文字列 “true” と等しい場合に true 値を表します。

「1」は「true」、「TRUE」、「True」、または常に得られるその他の組み合わせと同じではないため false 結果として。
代わりにこれを試してください:

javac Test.java
java Test true

コメント

タイトルとURLをコピーしました