Strings

Neue Frage »

Auf diesen Beitrag antworten »
Erstsemester 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 :-)
 
Auf diesen Beitrag antworten »
eulerscheZahl

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

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
Auf diesen Beitrag antworten »
Erstsemester

Besten Dank :-)
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »