次のJavaで最も簡単なコードスニペットを見てみましょう。ブール値に評価される式は、JavaではStringと連結できません。どうして?
final public class Parsing
{
public static void main(String[] args)
{
int p=10;
int q=10;
System.out.println(p==q);
}
}
Javaで上記のコードは正常であり、同じ値(10)を含む、同じタイプ(INT)のpおよびqの両方として真を表示します。今、println()の引数を連結して、新しい行エスケープシーケンス\ nを含むようにし、その結果を次のように新しい行に表示します。
表現 pは== Qは、Javaのboolean値とboolean型を評価(ブール、ラッパー型ではない)で利用可能な任意の他のタイプに変換することはできませんので、全く許されないSystem.out.println("\n"+p==q);
Java。したがって、上記の文は無効であり、コンパイル時にエラーが発生します。 Javaでこのような状況を回避する方法は何ですか?
驚くべきことに、次の文はJavaで完全に有効です。
System.out.println("\n"+true);
System.out.println("\n"+false);
となり、それぞれ真と偽を表示します。どうやって?なぜ文の中の同じものは許可されていませんSystem.out.println("\n"+p==q);
?
これは役に立つかもしれません[オペレータの優先順位](http://download.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) –
愚かな間違いです。 – Lion