1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
<html>
<head>
<title>
Handbuch der Java-Programmierung, 5. Auflage
</title>
</head>
<body>
<a name="startofbody"></a>
<script language="JavaScript" src="hjp4lib.js">
</script>
<script language="JavaScript">
installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100070.html;106,k100070.html;107,k100072.html;108,k100078.html");
</script>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100070.html"> << </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100070.html"> < </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100072.html"> > </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100078.html"> >> </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
<td align="right">Kapitel 11 - Strings
</table>
<hr>
<!-- Section -->
<a name="sectlevel2id011001"></a>
<h2>11.1 Grundlegende Eigenschaften </h2>
<hr>
<ul>
<li><a href="k100071.html#sectlevel2id011001">11.1 Grundlegende Eigenschaften</a>
</ul>
<hr>
<p>
Wie in allen anderen Programmiersprachen gibt es auch in Java <a name="ixa100657"><i>Zeichenketten</i></a>.
Ähnlich wie in C und C++ kennt der Compiler nur einige ihrer
elementaren Eigenschaften und überläßt der Laufzeitbibliothek
einen Großteil der Implementierung. Wir werden uns in diesem
Kapitel die Implementierung und Verwendung von Zeichenketten in Java
ansehen und uns dabei der üblichen Praxis anschließen,
die Begriffe <i>String</i> und <i>Zeichenkette</i> synonym zu verwenden.
<p>
In Java werden Zeichenketten durch die Klasse <a name="ixa100658"><a href="index_s.html#ixb100117"><font color=#000080><tt>String</tt></font></a></a>
repräsentiert. Sie bietet Methoden zum Erzeugen von Zeichenketten,
zur Extraktion von Teilstrings, zum Vergleich mit anderen Strings
und zur Erzeugung von Strings aus primitiven Typen. Der Compiler erkennt
und interpretiert <a href="index_s.html#ixb100117"><font color=#000080><tt>String</tt></font></a>-Literale
und ist in der Lage, <a href="index_s.html#ixb100117"><font color=#000080><tt>String</tt></font></a>-Objekte
zu erzeugen und zu verketten.
<p>
Eine Zeichenkette hat in Java prinzipiell dieselbe Bedeutung wie in
anderen Sprachen. Als Reihung von Elementen des Typs <a name="ixa100659"><a href="index_c.html#ixb100215"><font color=#000080><tt>char</tt></font></a></a>
ist sie die wichtigste Datenstruktur für alle Aufgaben, die etwas
mit der Ein- und Ausgabe oder der Verarbeitung von Zeichen zu tun
haben.
<p>
Da der <a href="index_c.html#ixb100215"><font color=#000080><tt>char</tt></font></a>-Typ
in Java durch ein Unicode-Zeichen repräsentiert wird, besteht
auch ein String aus einer Kette von Unicode-Zeichen. Abgesehen davon,
dass er dadurch doppelt soviel Speicher belegt wie ein ASCII-String,
braucht man sich darüber aber nicht allzu viele Gedanken zu machen.
Wegen der bereits in <a href="k100022.html#kapiteldatentypen">Kapitel 4</a>
erwähnten Kompatibilität zwischen Unicode-Standard und ASCII-Zeichensatz
sind die Unterschiede bei der normalen Verwendung von Strings ohne
Belang.
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top width=1000>
<p>
Anders als in C braucht der Java-Programmierer keine Kenntnisse über
den internen Aufbau von Strings zu haben. Insbesondere ist nicht davon
auszugehen, dass ein String durch ein nullterminiertes Array von <a href="index_c.html#ixb100215"><font color=#000080><tt>char</tt></font></a>-Elementen
dargestellt wird. Natürlich heißt dies nicht, dass die
interne Struktur von Strings <i>vollkommen</i> anonym ist, denn sowohl
Compiler als auch Laufzeitsystem müssen sie kennen. Für
den Programmierer, der lediglich Java-Programme schreiben will, ist
sie aber bedeutungslos.</td>
<td><img src="trp1_1.gif" width=2></td>
<td valign=top>
<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
<tr>
<td><font color="#FFFFFF"> Hinweis </font></td>
</tr>
</table>
</td>
<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
</tr>
</table>
<hr>
<table border=0 cellpadding=0 cellspacing=1 width="100%">
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
Wesley, Version 5.0.1
<tr bgcolor="#EEFFCC">
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100070.html"> << </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100070.html"> < </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100072.html"> > </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="k100078.html"> >> </a>
<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
<td align="right">© 1998, 2007 Guido Krüger & Thomas
Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
</table>
<a name="endofbody"></a>
</body>
</html>
|