الفئة سلسلة أغراض String Class لجافا
السلاسل أغراض "Strings" في جافا
الفئة سلسلة أغراض "String" لجافا غير قابل للتغيير، سلاسل الأغراض "Strings" في جافا اذا تم إنشاؤهم وتهيئتهم فلا يمكن تغيرهم على نفس المرجع. الفئة java.lang.String هي نهائية وهو ما يعني لا فئة يمكن ان توسعها. الفئة java.lang.String تختلف عن بقية الفئات الأخرى ، فارق واحد هو أنه يمكن استخدام كائنات سلسلة أغراض "String" مع مشغلي "+=" و "+" للتسلسل.
منهجين مفيدين لكائنات سلسلة أغراض "String objects" هم equals( ) و substring( ). يستخدم المنهج equals( ) لاختبار ما إذا كان لدين سلسلتين تحتويان على نفس القيمة. و يستخدم المنهج substring( ) للحصول على جزء محدد من سلسلة معيّنة.
فئة لإنشاء Java.lang.String
يمكن إنشاء سلسلة بسيطة باستخدام سلسلة حرفية المغلقة داخل علامات التنصيص كما هو مبين؛
?
1 String str1 = "My name is bob";
بما ان السلسلة الحرفية هي مرجع، فيمكن التلاعب بها مثل أي مرجع لسلسلة أخرى. يمكن تعيين القيمة المرجعية لسلسلة حرفية كمرجع لسلسلة أخرى.
إذا كان إثنان أو أكثر من السلاسل لديهم نفس مجموعة الأحرف في نفس التسلسل فإنهما يشتركان في نفس المرجع في الذاكرة. أدناه توضيح لهذه الظاهرة.
?
1
2
3
4
5
6
7
8
9
10
11String str1 = "My name is bob";
String str2 = "My name is bob";
String str3 = "My name "+ "is bob"; //Compile time expression
String name = "bob";
String str4 = "My name is" + name;
String str5 = new String("My name is bob");
في التعليمات البرمجية أعلاه كافة مراجع السلسلة str1 و str2 و str3 تدل على نفس الكائن سلسلة "String object" ، مع تهيئة سلسلة الحروف : “My name is bob”. ولكن السلاسل str4 و str5 تدل على كائنات سلسلة جديدة.
يمكن أن يتم إنشاء سلسلة الكائنات من صفائف بايت "arrays of bytes" أو صفائف من الأحرف "arrays of characters" ، أو مخازن سلسلة "string buffers". وهناك طريقة بسيطة لتحويل أي قيمة بدائية لتتمثل في سلسلة وهو وصلها بــسلسلة فارغة ("") ، باستخدام مشغل تسلسل السلسلة "string concatenation operator" (+).
?
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
33public class StringsDemo {
public static void main(String[] args) {
byte[] bytes = {2, 4, 6, 8};
char[] characters = {'a', 'b', 'C', 'D'};
StringBuffer strBuffer = new StringBuffer("abcde");
// Examples of Creation of Strings
String byteStr = new String(bytes);
String charStr = new String(characters);
String buffStr = new String(strBuffer);
System.out.println("byteStr : "+byteStr);
System.out.println("charStr : "+charStr);
System.out.println("buffStr : "+buffStr);
}
}
Output
byteStr :
charStr : abCD
buffStr : abcde