2016-03-19 32 views
-6

!type aşağıdaki kod parçasında ne anlama geliyor? Neden ! seçtiniz?Bu kodda ne anlama geliyor?

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

biri bana özellikle !type bu kodları açıklayabilir misiniz?

+0

eşit değildir ..... https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html –

+0

Bu ((tür) değil .equals ("auto") 'dır,' '(type.equals (" auto ") "))' '.equals 'kısmı önce değerlendirilir, ve sonra'! 'bunun sonucuna uygulanır. – immibis

cevap

2

Tip String nesnenin örneğidir değilse böylece

! type.equals ("auto") bu yöntemi String#equals(...) vardır ve bu yöntem bir boolean döndürür true değerlendirecektir. ..

" !" bu karşılaştırarak gelen sonucunda boolean durum ... bu yüzden

!type.equals("auto") olduğu olumsuzluk opeator ve herhangi boolean değerini ters çevirir olmadığını Ad türündeki String var, "auto" değerine sahiptir.

1

'!' bir boolean operatördür ve sadece NOT (Negasyon) demektir. türü "auto"

1

! Değil, ve equals() yöntemi, dönüşü boole ve doğru ve yanlış döndürdüğü anlamına gelir ve sonra! Negatif o Will, onu yapar, doğru yanlış ve örneğin doğru yanlış:

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 

Veya sadece kodunuzda bu metin eşit değilse kontrol demektir ...