Saya punya StringBuilder
objek,
StringBuilder result = new StringBuilder();
result.append(someChar);
Sekarang saya ingin menambahkan karakter baris baru ke StringBuilder
. Bagaimana saya bisa melakukannya?
result.append("/n");
Tidak bekerja. Jadi, saya berpikir untuk menulis baris baru menggunakan Unicode. Akankah ini membantu? Jika demikian, bagaimana saya bisa menambahkannya?
java
stringbuilder
Illep
sumber
sumber
"\n"
, atauSystem.getProperty("line.separator")
.Jawaban:
Harus
Tapi saya sarankan Anda lakukan seperti di bawah ini,
System.getProperty("line.separator")
memberi Anda baris baru yang bergantung pada sistem di java. Juga dari Java 7 ada metode yang mengembalikan nilai secara langsung:System.lineSeparator()
sumber
StringBuilder#appendLine()
metode.System.lineSeparator()
dokumentasi menyebutkan "Mengembalikan string pemisah garis yang bergantung pada sistem.". Ini bukan platform independen. Gunakan kode ini jika Anda perlu menulis string yang akan digunakan oleh sistem operasi yang mendasarinya, jika tidak gunakan'\n'
.System.lineSeparator()
harus digunakan ketika Anda berurusan dengan sumber daya non-portabel (yaitu, sumber daya khusus untuk sistem operasi yang mendasarinya). Ini memiliki nilai yang berbeda apakah Anda menjalankan Java pada Windows (\ r \ n) atau Unix (\ n). Jika Anda menggunakannyaSystem.lineSeparator()
setiap saat, Anda akan menghasilkan file yang tidak portabel.appendLine
kelebihan padaStringBuilder
.Pilihan lain adalah menggunakan Apache Commons StrBuilder, yang memiliki fungsi yang kurang di StringBuilder.
StrBuilder.appendLn ()
Pada versi 3.6 StrBuilder telah ditinggalkan demi TextStringBuilder yang memiliki fungsi yang sama
sumber
deprecated
. Silakan gunakanorg.apache.commons.text.TextStringBuilder
.Melarikan diri harus dilakukan dengan
\
, bukan/
.Jadi
r.append('\n');
ataur.append("\n");
akan bekerja (StringBuilder
memiliki metodechar
danString
tipe kelebihan beban ).sumber
Anda dapat menggunakan
line.seperator
untuk menambahkan baris baru disumber
Saya membuat kelas asli yang mirip dengan StringBuidler dan dapat menambahkan baris dengan memanggil metode appendLine (String str).
Pemakaian:
Menghibur:
sumber
Anda juga dapat menggunakan karakter pemisah garis dalam
String.format
(Lihatjava.util.Formatter
), yang juga merupakan platform agnostik.yaitu:
Jika Anda perlu menambahkan lebih banyak spasi, cukup gunakan:
Anda juga dapat menggunakan
StringFormat
untuk memformat seluruh string Anda, dengan baris baru di akhir.sumber
Untuk Kotlin,
StringBuilder().appendln("your text");
Meskipun ini adalah pertanyaan java, ini juga hasil google pertama untuk kotlin, mungkin berguna.
sumber
Selain respons KS dalam menciptakan kelas StringBuilderPlus dan memanfaatkan pola adaptornya untuk memperluas kelas final, jika Anda menggunakan generik dan mengembalikan objek StringBuilderPlus dalam metode appendLine dan appendLine baru, Anda dapat menggunakan metode StringBuilder banyak metode tambahan. untuk semua jenis yang berbeda, sambil mendapatkan kembali kemampuan untuk merangkai beberapa perintah tambahkan bersama, seperti yang ditunjukkan di bawah ini
Anda kemudian dapat menggunakan ini persis seperti kelas StringBuilder asli:
sumber
Untuk Android , Gunakan ini untuk Baca dan Tulis!
sumber