[java] dziwny problem ze Stringiem

0

No albo jestem ślepy albo jakieś zaćmienie ale jestem w kropce, otóż nie mam pojęcia czemu warunek się nie spełnia w tym kodzie:

System.out.println("aWords[1]:"+aWords[1]+"lala");
		if(aWords[1]=="+")
		{
				value = a + b;
				System.out.println("wynik sumowania: "+value);
				binaryValue = c.ChangeBack(value);
				System.out.println("jeb: "+binaryValue);
				dane.setText("");
				dane.append(binaryValue);
		}else
		{
				System.out.println("wtf...");
		} 

Skoro przy "debugowaniu" w konsoli wybija mi, że aWords[1] wynosi "+". aWords jest to tablica Stringów. Jeśli dam warunek if(aWords[1] != "+") to wtedy funkcje ze środka się wykonują, ale czemu skoro aWords[1] ma Stringa "+"? Myślałem, że może chodzi o koniec łańcucha "\0", ale też nie działa.

0

Zgaduję, że operator == nie służy do porównywania zawartości stringów lecz ich referencji. Użyj metody equals i sprawdź.

0

Dzięki wielkie. Całkowicie o tym zapomniałem.

0

Ja jakoś pamiętam, a nigdy linijki w Javie nie napisałem. ;P

1 użytkowników online, w tym zalogowanych: 0, gości: 1