2011-08-04 4 views
-2

Возможные Дубликаты:
Strings in Java : equals vs ==
Comparing strings in javaJava оператор == использует

является == можно применить к строкам?

если это так, то зачем его использовать для типа данных String?

другими словами, хотя мы должны использовать равный метод для сравнения двух строк java, что такое использование оператора == для String в java?

ответ

1

Если вы хотите сравнить объекты на Java, вы должны использовать метод equals(). Оператор == используется для сравнения ссылок, а не значений, в объектах Java.

Например:

String s1 = "hello"; 
String s2 = new String("hello"); 
boolean comp = s1.equals(s2); // correct, returns true 
comp = s1 == s2; // wrong, returns false 
+0

true, но обычно обычно не будет использовать новое ключевое слово, и поэтому строка будет добавлена ​​в пул строк и s1 == s2 будет true. –

+0

@Oscar Gomez - я использовал его, чтобы не использовать длинный пример со строковым вводом, который мне кажется ненужным. – MByD

3

== не будет сравнивать значение строки, но ее адресатом. Если вы хотите сравнить значение, используйте метод equals().

0

'==' оператор сравнивает два объекта ссылки. Таким образом, в случае двух строк они исследуют эти объекты и видят, представляют ли они то же самое местоположение в памяти.

В .equals() метод сравнивает содержимое строки друг к другу.

0

Сравнивая объекты, оператор == сравнивает, если ссылки одинаковы. В примитивных типах (int, float, double, boolean) он фактически сравнивает значение. Поскольку Strings являются объектами, лучше использовать метод equals(). == будет сравнивать, если обе ссылки строк одинаковы, а это не так. Метод equals() также используется сборками Java.

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

  • Нет связанных вопросов^_^