Согласитесь, что это, возможно, дубликат другого вопроса, но я все равно отвечу.
Оператор == должен определить, идентичны ли два объекта или исходные типы данных (например, int).
Поскольку String является объектом, используя == для сравнения двух строк, пытается увидеть, идентичны ли сами объекты, а какие нет. Чтобы получить результат «равно A», вам нужно сравнить s с самим собой.
A String's .equals()
и .equalsIgnoreCase()
- это методы, которые сравнивают текстовое значение объекта String, что вы пытаетесь сделать.
Ключевое слово instanceof
используется для обнаружения типа объекта (например, если объект имеет тип String или тип Integer).
возможно дубликат [Java String.equals против ==] (http://stackoverflow.com/questions/767372/java-string-equals-versus) – Thilo
@Thilo: Случай инстанцировании Я считаю, что 'String' с использованием' new' не существует. –
Дополнительная информация: http://stackoverflow.com/questions/2009228/strings-are-objects-in-java-so-why-dont-we-use-new-to-create-them http://stackoverflow.com/questions/390703/what-is-the-purpose-of-the-expression-new-string-in-java http://stackoverflow.com/questions/456575/java-wrapper-equality-test – Thilo