2012-06-18 2 views
1

Я столкнулся с проблемой является то, что если заявление, которое я кодирования производит неправильные результаты и не может сравнить два результата:Неожиданные результаты при сравнении GetString() Возвращаемые значения

Мой код:

temp_code имеет значение 130 и rs.getString(employee_id) имеет значение 130 также

String temp_code = rs.getString(employee_id); 

if ((rs.getString(employee_id)).equals(temp_code)) 
{ 
out.println("employee IDs equal"); 
} 
else 
{ 
out.println("employee IDs not equal"); 
} 

Но это дает мне, что идентификаторы работника не равные

, когда я печать значения обоих из них 130, и когда я распечатывающих из:

out.println((rs.getString(employee_id)).equals(temp_code)); 

Это производит ложное значение

+2

Это ваш фактический код? Если это так, почему вы вызываете 'getString()' с тем же 'employee_id' дважды подряд? Если это не так, можете ли вы показать нам свой фактический код? – dlev

+1

Какой тип переменной 'rs'? Пользовательский класс или что-то еще? –

+0

Я сравниваю их для печати имени группы, предположим, что вы хотите отображать каждую группу записей сотрудников по имени. Имя и под ним записи – user1080320

ответ

3

Одна из строк, вероятно, имеет символ пробела в Это. Распечатайте их в квадратных скобках другими символами, например:

out.println("[" + rs.getString(employee_id) + "]); 
out.println("[" + temp_code + "]); 
+0

Должен ли я обрезать их? – user1080320

+0

Ну, может быть. Понимаете, это зависит от ваших требований. Если это имеет значение для вас - если оно считается «другим» для ваших целей, то у них есть пробельные различия, а затем не обрезайте их. Но если это не считается - обязательно, обрезайте их. И на самом деле, если они действительно должны быть целыми числами, обрезать их и получить значение int; ints легче сравнивать, чем строки. –