2018-10-12 16:35:31 -04:00
---
title: Strings
localeTitle: سلاسل
---
# سلاسل
السلسلة هي نوع بيانات أساسي في لغة برمجة. يتم تمثيل `String` بالنوع `String` . سلاسل غير قابلة للتغيير. يحتوي Kotlin على واجهة برمجة تطبيقات غنية للعمل مع السلاسل.
### الاستخدام الأساسي
#### إعلان
2019-06-20 13:42:13 -07:00
```kotlin
// Explicit type declaration
var firstName : String = "Elon"
// or Implicit type declaration and will still compile
val lastName = "Musk"
```
2018-10-12 16:35:31 -04:00
بالإضافة إلى ذلك ، لاحظ استخدام نوع متغير `val` ، وهنا كيف تتصرف
2019-06-20 13:42:13 -07:00
```kotlin
firstName = "Mark" // can be changed
lastName = "Zuckerberg" // cannot be changed
lastName = 12 // Error: type mismatch
```
2018-10-12 16:35:31 -04:00
#### سلسلة سلسلة
تظهر في مقتطف الشفرة ، تمامًا مثل جافا ، إلحاق `Int` ستؤدي `String` إلى إخراج `String`
2019-06-20 13:42:13 -07:00
```kotlin
var str = "abc" + 1
println(str + "def")
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
abc1def
```
2018-10-12 16:35:31 -04:00
حتى بدون تحويل قيمة `Int` 1 إلى كائن `String` أولاً ، لا يزال الإخراج الناتج عبارة عن `String` .
#### سلسلة مع خطوط متعددة
يمكن للمبرمجين الإعلان عن متغيرات `String` مع أسطر متعددة باستخدام علامات اقتباس ثلاثية بدلاً من علامات الاقتباس المزدوجة
2019-06-20 13:42:13 -07:00
```kotlin
var str = """
This is line 1
This is line 2
This is line 3
"""
println(str)
```
2018-10-12 16:35:31 -04:00
انتاج:
` This is line 1
This is line 2
This is line 3
`
أو مع `.trimIndent()`
استخدام `trimIndent()` سيساعد بالإضافة إلى توفير تنسيق إخراج نظيف عن طريق إزالة indention الزائد و unrespour كل سطر. افحص مقتطف الشفرة أدناه:
2019-06-20 13:42:13 -07:00
```kotlin
var str = """
This is line 1
This is line 2
This is line 3
""".trimIndent()
println(str)
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
This is line 1
This is line 2
This is line 3
```
2018-10-12 16:35:31 -04:00
### الوصول إلى أحرف سلسلة
#### مؤشر الوصول
يمكن للمبرمجين الوصول إلى العناصر (الأحرف) لسلسلة باستخدام معامل الوصول إلى الفهرس:
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
println(str[2])
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
a
```
2018-10-12 16:35:31 -04:00
إنه مثل الوصول إلى عنصر من صفيف ، تحصل على:
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
println(str[9]) // Error: index out of bounds
```
2018-10-12 16:35:31 -04:00
#### تكرار عبر سلسلة
عناصر السلسلة هي أحرف يمكن الوصول إليها بواسطة عملية الفهرسة: `s[i]` .
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
for (c in str) {
println(c)
}
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
E
x
a
m
p
l
e
```
2018-10-12 16:35:31 -04:00
### ثبات سلسلة
تمامًا مثل جافا ، لا يمكنك تغيير العناصر الفردية `String`
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
str[2] = "b" // Error
```
2018-10-12 16:35:31 -04:00
#### إعادة تعيين قيم السلسلة
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
println(str)
str = "Example was changed"
println(str)
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
Example
Example was changed
```
2018-10-12 16:35:31 -04:00
### خصائص سلسلة
#### تحديد طول سلسلة
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
println(str.length)
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
7
```
2018-10-12 16:35:31 -04:00
### وظائف سلسلة
هذه بعض وظائف `String` الشائعة المتوفرة من إصدار Kotlin الحالي
### قارن ب
يقارن هذا الكائن بالعنصر المحدد للترتيب. يتم إرجاع الصفر إذا كان هذا الكائن مساويًا للكائن الآخر المحدد ، أو رقم سالب إذا كان أقل من رقم آخر ، أو رقم موجب إذا كان أكبر من الآخر.
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
var str2 = "Example123"
var str3 = "Example12345"
println(str.compareTo(str2))
println(str.compareTo(str3))
println(str3.compareTo(str))
println(str.compareTo("Example"))
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
-3
-5
5
0 # Equal
```
2018-10-12 16:35:31 -04:00
### يساوي
يشير إلى ما إذا كان كائن `String` يساوي تمامًا كائن `String` آخر
2019-06-20 13:42:13 -07:00
```kotlin
var str = "Example"
var str2 = "Example2"
println(str.equals("Example"))
println(str2.equals("Example"))
```
2018-10-12 16:35:31 -04:00
انتاج:
2019-06-20 13:42:13 -07:00
```shell
true
false
```
2018-10-12 16:35:31 -04:00
### احصل على
إرجاع الحرف في الفهرس المحدد في تسلسل الأحرف هذا.
"" كوتلن var str = "مثال" println (str.get (3))
2019-06-20 13:42:13 -07:00
```
Output:
```
2018-10-12 16:35:31 -04:00
الصدف م
2019-06-20 13:42:13 -07:00
```
### toString
Returns a string representation of the object.
```
2018-10-12 16:35:31 -04:00
kotlin println (9. toString () + 10) println (9 + 10)
2019-06-20 13:42:13 -07:00
```
Output:
```
2018-10-12 16:35:31 -04:00
الصدف "910" 19 \`\` \`
#### مصادر
* [Kotlin Basic Types ](https://kotlinlang.org/docs/reference/basic-types.html )
* [مرجع سلسلة Kotlin ](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html )