Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Strings (http://www.informatikerboard.de/board/thread.php?threadid=2114)


Geschrieben von Erstsemester am 26.01.2015 um 21:10:

  Strings

Meine Frage:
Hey :-)

Sehe ich das richtig, dass auf Strings erst eine Referenz mit new erzeugt werden muss, bevor ich diese mit der Java Bibliothek vergleichen, etc. kann?

Meine Ideen:
Besten Dank :-)



Geschrieben von eulerscheZahl am 26.01.2015 um 22:42:

 

Du brauchst Instanzen, um damit arbeiten zu können. Wie du die erstellst, spielt dabei keine Rolle.
Du kannst auch schreiben: "A".compareTo("B");.



Geschrieben von Karlito am 26.01.2015 um 22:56:

 

Hi,

kleine Ergänzung: für die Prüfung auf Gleichheit wird üblicherweise .equals() verwendet.

Außerdem: wenn man einen String einer Variable zuweist wird automatisch eine Referenz erzeugt und der Variable zugewiesen.

Schau dir mal folgendes Beispiel an, und schau mal ob Du es verstehst:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:

public class Program {
	public static void main(String[] args){
		String s1 = "test";
		String s2 = "testttt";

		s2 = s2.substring(0,4);

		System.out.println("s1:\t\t" + s1);
		System.out.println("s2:\t\t" + s2);

		System.out.println("s1 == s2:\t" + (s1 == s2)); //Schlägt fehl
		System.out.println("s2 == \"test\":\t" + (s2 == "test")); //Schlägt fehl
		System.out.println("s1 == \"test\":\t" + (s1 == "test")); //Funktioniert

		System.out.println("s1.equals(s2):\t" + s1.equals(s2)); //Funktioniert
		System.out.println("s2.equals(s1):\t" + s1.equals(s2)); //Funktioniert


	}
}


Zeile 13 funktioniert übrigens nur auf Grund der internen Datenhaltung von Java. Dabei werden gleiche Strings an nur einem Platz im Speicher abgelegt und somit ist es die selbe Referenz.

Gruß,

Karlito



Geschrieben von Erstsemester am 27.01.2015 um 07:56:

 

Besten Dank :-)


Forensoftware: Burning Board, entwickelt von WoltLab GmbH