2016-03-19 32 views
-6

Was bedeutet !type im folgenden Ausschnitt? Warum setzen !?Was bedeutet! Type in diesem Code?

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>"); 
} 

Kann jemand mir dieses Codes besonders !type erklären?

+0

nicht gleich ..... https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html –

+0

Es ist nicht '(! type) .equals (" auto ")', es ist '! (type.equals (" auto "))' dh der '.equals' Teil wird zuerst ausgewertet, und dann wird'! 'auf das Ergebnis davon angewendet. – immibis

Antwort

2

Typ eine Instanz des Objekts String ist, hat es die Methode String#equals(...) und Methode gibt eine boolean. ..

"!" das ist die Negation opeator und invertiert jeden booleschen Wert ...

so !type.equals("auto") ist ein boolean Zustand als Ergebnis aus dem Vergleich, ob die String var mit dem Namenstyp hat den Wert "auto".

1

'!' ist ein boolescher Operator und bedeutet nur NICHT (Negation).

so! Type.equals („auto“) wird den Wert true, wenn der Typ nicht „auto“ ist

1

! Ist nicht, und equals() -Methode gibt boolean zurück und bedeutet, dass es true und false zurückgibt und dann! Will negativ es, macht es wahr, falsch und falsch wahr zum Beispiel:

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 

Oder einfach im Code bedeutet dies prüfen, ob der Text nicht gleich zu ...