Rentetan skala
Contoh berikut memberikan rentetan kepada pemalar:
object Test { val greeting: String = "Hello,World!" def main(args: Array[String]) { println( greeting ) } }
Contoh di atas mentakrifkan salam pembolehubah, iaitu pemalar rentetan dan jenisnya ialah Rentetan (java.lang.String).
Dalam Scala, jenis rentetan sebenarnya Java String, yang tidak mempunyai kelas String itu sendiri.
Dalam Scala, String ialah objek tidak berubah, jadi objek tidak boleh diubah suai. Ini bermakna jika anda mengubah suai rentetan, objek rentetan baharu akan dihasilkan.
Tetapi objek lain, seperti tatasusunan, ialah objek boleh ubah. Seterusnya kami akan memperkenalkan anda kepada kaedah java.lang.String yang biasa digunakan.
Buat rentetan
Buat contoh rentetan seperti berikut:
var greeting = "Hello World!"; 或 var greeting:String = "Hello World!";
Anda tidak semestinya menentukan jenis Rentetan untuk rentetan, Kerana pengkompil Scala secara automatik akan membuat kesimpulan bahawa jenis rentetan ialah String.
Sudah tentu, kita juga boleh terus mengisytiharkan rentetan sebagai Jenis Rentetan, seperti yang ditunjukkan dalam contoh berikut:
object Test { val greeting: String = "Hello, World!" def main(args: Array[String]) { println( greeting ) } }
Laksanakan kod di atas, hasil keluarannya ialah:
$ scalac Test.scala $ scala Test Hello, world!
Seperti yang kami nyatakan sebelum objek String tidak boleh diubah Jika anda perlu mencipta rentetan yang boleh diubah suai, anda boleh menggunakan kelas String Builder, seperti yang ditunjukkan dalam contoh berikut:
object Test { def main(args: Array[String]) { val buf = new StringBuilder; buf += 'a' buf ++= "bcdef" println( "buf is : " + buf.toString ); } }
Laksanakan Hasil output kod di atas ialah:
$ scalac Test.scala $ scala Test buf is : abcdef
Panjang rentetan
Kita boleh menggunakan kaedah length() untuk mendapatkan panjang rentetan :
object Test { def main(args: Array[String]) { var palindrome = "www.php.cn"; var len = palindrome.length(); println( "String Length is : " + len ); } }
Laksanakan kod di atas, Hasil output ialah:
$ scalac Test.scala $ scala Test String Length is : 14
Sambungan rentetan
Kaedah concat() digunakan dalam kelas String untuk menyambung dua rentetan:
string1.concat(string2);
Contoh demonstrasi:
scala> "php中文网官网: ".concat("www.php.cn"); res0: String = php中文网官网: www.php.cn
Begitu juga, anda juga boleh menggunakan tanda tambah (+) untuk menyambung:
scala> "php中文网官网: " + " www.php.cn" res1: String = php中文网官网: www.php.cn
Mari kita lihat contoh lengkap:
object Test { def main(args: Array[String]) { var str1 = "php中文网官网:"; var str2 = "www.php.cn"; var str3 = "php中文网的 Slogan 为:"; var str4 = " php中文网"; println( str1 + str2 ); println( str3.concat(str4) ); } }
Laksanakan kod di atas, hasil keluarannya ialah:
$ scalac Test.scala $ scala Test php中文网官网:www.php.cn php中文网的 Slogan 为: php中文网
Buat rentetan terformat
Dalam kelas String anda boleh menggunakan kaedah printf() untuk memformat rentetan dan mengeluarkannya Kaedah format String() boleh mengembalikan objek String dan bukannya objek PrintStream. Contoh berikut menunjukkan penggunaan kaedah printf():
object Test { def main(args: Array[String]) { var floatVar = 12.456 var intVar = 2000 var stringVar = "php中文网!" var fs = printf("浮点型变量为 " + "%f, 整型变量为 %d, 字符串为 " + " %s", floatVar, intVar, stringVar) println(fs) } }
Laksanakan kod di atas, hasil output ialah:
$ scalac Test.scala $ scala Test 浮点型变量为 12.456000, 整型变量为 2000, 字符串为 php中文网!()
Kaedah rentetan
Yang berikut senarai jadual java Kaedah yang biasa digunakan dalam .lang.String boleh digunakan dalam Scala:
Nombor siri | Kaedah dan penerangan |
---|---|
1 | char charAt(int index) Mengembalikan aksara pada kedudukan yang ditentukan |
2 | int compareTo(Object o) Banding rentetan dengan objek |
3 | int compareTo(String anotherString) Membandingkan dua rentetan secara leksikografik |
4 | int compareToIgnoreCase(String str) Membandingkan dua rentetan dalam susunan leksikografi, tanpa mengira kes |
5 | String concat(String str) Menggabungkan rentetan yang ditentukan ke hujung rentetan ini |
6 | boolean contentEquals(StringBuffer sb) Membandingkan rentetan ini dengan StringBuffer yang ditentukan. |
7 | statik String copyValueOf(char[] data) Kembali kepada yang dinyatakan array String |
8 | statik String copyValueOf(char[] data, int offset, int count) Mengembalikan String yang mewakili jujukan aksara dalam tatasusunan yang ditentukan |
9 | boolean endsWith(String suffix) Menguji sama ada rentetan ini berakhir dengan akhiran yang ditentukan |
10 | boolean sama(Object anObject ) Membandingkan rentetan ini dengan objek yang ditentukan |
11 | boolean equalsIgnoreCase(String anotherString ) Membandingkan String ini dengan String lain, tanpa mengira kes |
12 | bait getBytes () Enkodkan Rentetan ini ke dalam jujukan bait menggunakan set aksara lalai platform dan simpan hasilnya ke dalam tatasusunan bait baharu |
13 | bait[] getBytes(String charsetName Gunakan set aksara yang ditentukan untuk mengekod String ini ke dalam jujukan bait dan simpan hasilnya ke dalam tatasusunan bait baharu |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Salin aksara daripada rentetan ini ke tatasusunan aksara sasaran |
15 | int hashCode() Mengembalikan kod cincang rentetan ini |
16 | int indexOf(int ch) Mengembalikan indeks kejadian pertama aksara yang ditentukan dalam rentetan ini |
17 | int indexOf(int ch , int fromIndex) Mengembalikan indeks tempat aksara yang dinyatakan muncul buat kali pertama dalam rentetan ini, daripada indeks mulakan carian yang ditentukan |
18 | int indexOf(String str) Kembalikan sub-karakter yang ditentukan Indeks kejadian pertama rentetan dalam rentetan ini |
19 | int indexOf(String str, int fromIndex) Mengembalikan indeks kejadian pertama bagi subrentetan ditentukan dalam rentetan ini, bermula pada indeks yang ditentukan |
20 | String intern() Mengembalikan perwakilan biasa bagi objek rentetan |
21 | int lastIndexOf(int ch) Mengembalikan indeks kejadian terakhir aksara yang ditentukan dalam rentetan ini |
22 | int lastIndexOf(int ch , int fromIndex) Mengembalikan indeks kejadian terakhir aksara yang ditentukan dalam rentetan ini, daripada Mulakan carian terbalik pada indeks yang ditentukan |
23 | int lastIndexOf(String str) Mengembalikan indeks kejadian paling kanan subrentetan yang ditentukan dalam rentetan ini |
24 | int lastIndexOf(String str, int fromIndex) Mengembalikan indeks kejadian terakhir subrentetan yang ditentukan dalam rentetan ini, memulakan carian terbalik daripada indeks yang ditentukan |
25 | int length() Mengembalikan panjang rentetan ini |
26 | boolean padanan(String regex) Memberitahu sama ada rentetan ini sepadan dengan ungkapan biasa yang diberikan |
27 | wilayah booleanPadanan(boolean ignoreCase, int toffset, String other, int ooffset, int len) Uji sama ada dua rantau rentetan adalah sama |
28 | wilayah boolean Padanan(int toffset, String other, int ooffset, int len) Uji dua rentetan Adakah kawasan sama? |
29 | String replace(char oldChar, char newChar) Kembalikan rentetan baharu yang diperoleh dengan menggantikan semua kejadian oldChar dalam rentetan ini dengan newChar String replaceAll(String regex, String replacement |
31 String replaceFirst(String regex, String replacement) | |
32 String[] split(String regex) | |
33 String[] split(String regex , int limit) | |
34 boolean bermulaDengan( Awalan rentetan) | |
35 boolean startsWith(Awalan rentetan, int toffset) | |
36 CharSequence subSequence(int beginIndex, int endIndex) | |
37 subrentetan rentetan(int beginIndex) | |
38 subrentetan rentetan(int beginIndex, int endIndex) | |
39 char[ ] toCharArray() | |
40 String toLowerCase() | |
41 String toLowerCase(Locale locale) | |
42 | String toString() Mengembalikan objek ini sendiri (ia sudah menjadi rentetan! ) |
43 | String toUpperCase() Gunakan peraturan tempat lalai untuk Semua ini aksara dalam String ditukar kepada huruf besar |
44 | String keUpperCase(Locale locale) Menukar semua aksara dalam Rentetan ini kepada huruf besar menggunakan peraturan Tempatan yang diberikan |
45 | Pangkas rentetan( ) Menukar semua aksara dalam Rentetan ini kepada huruf besar menggunakan peraturan Tempatan yang diberikan |
46 | statik Nilai rentetan(jenis data primitif x) Mengembalikan perwakilan rentetan bagi parameter jenis yang ditentukan |