Оператор == в Java делает не совсем тоже самое что и в других языках. В Java он проверяет, являются ли переменные(или значения) одним и тем же объектом, в то время как в других языках(C++/php/etc.) этот оператор проверяет совпадает ли содержимое переменных.

Чтобы проверить равенство объектов на идентичность содержимого, нужно использовать функцию Object.equals(Object obj) для объекта, например mystring.equals(“Content”).

Пример :

public static void main(String[] args) {
	String str1 = new String("MyName");
	String str2 = new String("MyName");
	System.out.print("str1 == str2 : ");
	if (str1 == str2) {
		System.out.print("true");
	} else{
		System.out.print("false");
	}
	System.out.print("\nstr1.equals(str2) : ");
	if (str1.equals(str2)) {
		System.out.print("true");
	} else {
		System.out.print("false");
	}
	String str3 = new String(str2);
	System.out.print("\nstr3.equals(str2) : ");
	if (str3.equals(str2)) {
		System.out.print("true");
	} else {
		System.out.print("false");
	}
	System.out.print("\nstr3 == str2 : ");
	if (str3 == str2) {
		System.out.print("true");
	} else{
		System.out.print("false");
	}
	System.out.print("\nstr3 == MyName : ");
	if (str3 == "MyName") {
		System.out.print("true");
	} else{
		System.out.print("false");
	}
}

Вывод программы :

str1 == str2 : false
str1.equals(str2) : true
str3.equals(str2) : true
str3 == str2 : false
str3 == MyName : false