2016-03-19 13 views
-6

!typeの意味は次のとおりですか?なぜ!を置くのですか?!このコードでは!タイプの意味は何ですか?

String type = request.getParameter("tipo"); 
if (type == null) { 
    out.print("ERROR: The field type wasn't selected<br>"); 
} 
if (!type.equals("auto") 
&& !type.equals("trailer") 
&& !type.equals("motorcycle")) { 
    out.print("ERROR: field error ("+type+")<br>"); 
} 

誰かが私にこのコードを特に説明できますか?!type

+0

...

あなたのコード内
String text = "test"; Text.equals("test") returns true And !text.equals("test") returns false Text.equals("example") returns false And !text.equals("test") returns true 

それとも単にテキストが等しくない場合にはチェックを意味等しくない.....:それは、それは例えば、真偽真偽になり、負のウィルhttps://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html –

+0

'(!type).equals(" auto ")'ではなく、 '!(type.equals(" auto "))'つまり、 '.equals'部分が最初に評価され、その結果に'! 'が適用されます。 – immibis

答えて

2

タイプStringオブジェクトのインスタンスであるtrueに評価されます、それは方法String#equals(...)を持っており、その方法は、booleanを返します。 ..

」これは否定opeatorであり、任意のブール値を反転...

ので !type.equals("auto")がいるかどうかの比較から、結果としてboolean条件であります名前型の文字列varの値は "auto"です。

1

'!'ブール演算子であり、NOT(否定)を意味します。タイプが「自動」でない場合

そう!type.equals(「自動」)

1

!そうではなく、equals()メソッドはbooleanを返し、真と偽を返してからそれを返します。

関連する問題