2012-05-19 4 views
-3

У меня есть простой код, как показано ниже, и он возвращает false, когда у меня есть пробел после строки «N/A».Проблема строки в Java с косой чертой

String a = "N/A "; 
if((a.trim())=="N/A") 
{ 
System.out.println("true"); 
} 
else{ 
System.out.println("false"); 
} 

Если я удалю пробел как «N/A», тогда он вернет true. Что мне здесь не хватает. Я знаю, что я делаю глупую ошибку, не могу понять.

Заранее спасибо.

+1

Использование равна() вместо == также решить проблему (())), если условие – aviad

+0

Как видите, у вас есть место в 'a =" N/A "' – Ketan

ответ

1

Вы пытались использовать equals для сравнения вместо идентификации объекта?

4

Прежде всего, не сравнивайте строки с помощью оператора ==. Используйте if(a.trim().equals("N/A")), это должно помочь. Прочтите, например, here о сравнении объектов в Java.

2

Попробуйте ниже ...

String a = "N/A "; 
if(a.trim().equals("N/A")) 
{ 
System.out.println("true"); 
} 
else{ 
System.out.println("false"); 
} 

== сравнивает объект и .equals() сравнивает значения.

см this

1

Используйте равных() вместо == также устранить проблему в paratheses, если условие

Смежные вопросы