2015-05-19 1 views
-6

Ниже код представляет собой ту же операцию, но результаты различаются? Может ли кто-нибудь сказать мне, как java выполняет операцию ==?== Оператор на Java

  String str = new String("Hello"); 
      String str1 = new String("Hello"); 
      System.out.println(str == str1); 

о/р Ложные

  String str = "Hello"; 
      String str1 = "Hello"; 
      System.out.println(str == str1); 

о/р Истинные

+3

Один быстрый совет: Всегда ищите вопрос, прежде чем отправлять новую. Это было задано много раз раньше. –

+0

[Возможный дубликат Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – MadProgrammer

ответ

1

Один линия ответ на ниже заявление,

String str = "Hello"; 
String str1 = "Hello"; 
str == str1 

Оба указывает на тот же строковый литерал в S tring pool.

И здесь,

 String str = new String("Hello"); 
     String str1 = new String("Hello"); 

Вы explicitily просят String бассейн, чтобы создать новый экземпляр литерал «Hello»

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