2016-03-19 4 views
-6

Que signifie !type dans l'extrait de code suivant? Pourquoi mettre !?Que veut dire! Type dans ce 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>"); 
} 

quelqu'un peut-il expliquer ce code m'en particulier !type?

+0

pas égaux ..... https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html –

+0

Ce n'est pas '(! type) .equals (" auto ")', c'est '' (type.equals ("auto "))' ie la partie '.equals' est évaluée en premier, et ensuite'! 'est appliqué au résultat de cela. – immibis

Répondre

2

type est une instance de l'objet String, il a la méthode String#equals(...) et cette méthode renvoie un boolean. ..

« ! » c'est la négation opeator et intervertit une valeur booléenne ...

si !type.equals("auto") est une condition boolean comme résultat de la comparaison si la String var avec le type de nom a la valeur "auto".

1

'!' est un opérateur booléen et cela signifie simplement NON (négation).

donc! Type.equals ("auto") évalueront true si le type n'est pas "auto"

1

! N'est pas, et la méthode equals() renvoie booléen et cela signifie qu'il renvoie vrai et faux et ensuite! Est-ce négatif, il fait vrai, faux et faux vrai, par exemple:

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 

Ou tout simplement dans votre code, cela signifie vérifier si le texte ne correspond pas à ...