2015-04-16 3 views
-1

Когда я запускаю следующий кодJava командной строки

public class Test { 
    public static void main(String[] args) { 
     System.out.println(args[0]); 
     System.out.println("testing"); 
     System.out.println(args[0] == "testing"); 
    } 
} 

с использованием

Java Test тестирование

в командной строке, он выводит следующее:

тестирование
тестирование
false

Почему третья печатная строка не «истинна», когда печатные строки 1 и 2 кажутся одинаковыми?

Редактировать: Спасибо за ваши ответы - это ответ на мой запрос. У меня есть следующий запрос, который: if == сравнивает ссылки на String, как я могу узнать, что это за ссылки?

+0

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

+0

Получил это, спасибо за быстрый ответ – Martin

ответ

0

При сравнении строк в Java всегда используйте .equals().

System.out.println(args[0].equals("testing"));

0

== тесты на равенство ссылок.

.equals() тесты для равенства значений.

Вы хотите сделать это вместо:

System.out.println(args[0].equals("testing")); 
0

Используйте вместо

арг [0] .compareToIgnoreCase ("тестирование") == 0

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