Я пытаюсь сравнить набор результатов с строкой, но не могу заставить ее работать. Это то, что я пытаюсь:
if(resultset.getString("name").equals("George"))
Когда я распечатываю resultset.getString("name")
я получаю Джорджа. Значит, они должны быть равны?
У меня также есть компаратор с использованием resultset.getInt("Age")
который работает, поэтому я подумал, что, может быть, я могу быть умным и использовать compareTo вместо equeals, но когда я пытаюсь,
if(resultset.getString("name").comparesTo("George"))
Я ожидал получить 0, но я получаю 93???
Что мне не хватает?
Если .equals
не показывают их равными, то есть разница. Может ли быть место после одного из них или, возможно, другого дополнительного персонажа?
Попробуйте напечатать оба из них, окруженных известным персонажем, возможно, что-то вроде:
System.out.println("*" + resultset.getString("name") + "*");
Кроме того, в качестве фиктивной проверки убедитесь, что getString
фактически возвращает тип String. Если это метод, который вы определили, он может вернуть что-то странное.
if(resultset.getString("name").equals("George").trim())