java中String和StringBuffer有何区别?(区别对比)
本篇文章给大家带来的内容是关于 java中String和StringBuffer有何区别?(区别对比),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
前言
String和StringBuffer都是java中关于字符操作的类
尤其String,经常看到类似这样的赋值代码 String str = "Hello World",看起来就好像int一样以为是java的基本数据类型,其实不是,String是一个类,是一个特殊的类,可以像基本数据类型一样直接赋值。
java中有三个类可以对字符进行操作:
(1)Character 是进行单个字符操作的类。
(2)String 对一串字符进行操作的不可变类。
(3)StringBuffer 也是对一串字符进行操作,但是可变类。
Java中String和StringBuffer类区别
StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值,其实是两个对象。
String是对象,不是原始类型;为不可变对象,一旦被创建,就不能修改其值。
对于已经存在的String对象的修改,实际上是重新创建一个新的对象,然后把新的值保存进去。
String是final类,不能被继承。
StringBuffer是一个可变对象,当对它修改的时候,不会像String那样重新建立对象,它只能通过构造函数来建立。对象被创立后,会分配内存空间,并初始保存一个null。向StringBuffer中赋值的时候,可以通过它的append方法:obj.append("hello");
字符串连接操作中StringBuffer的效率比String高。
如果程序中需要对字符串进行频繁的修改连接操作的话,使用StringBuffer性能会更高。
在String类中,没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。
然而,不可变的字符串具有一个很大的优点:编译器可以把字符串设置为共享的。
StringBuffer是线程安全的,在多线程程序中也可以很方便的进行使用,但是程序执行效率相对来说就要稍微慢一些。
StringBuffer类中的方法偏重于对字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。
String与StringBuffer连接字符串比较
-
String str = new String("Hello World");str += "hello world"; 此字符串连接的处理过程:
(1)建立一个StringBuffer;
(2)调用append()方法;
(3)最后StringBuffer调用toString()给String重新赋值
(4)这样看来,String的连接操作,比StringBuffer多了一些操作,效率上就会打折扣。
(5)并且,由于String是不可变对象,每次重新赋值都会重新创建新的对象,那么原来的对象就没用了,就要被垃圾回收,也影响性能。 StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符,比String使用“+”操作符添加字符到一个已经存在的字符串后面有效率的多。
使用“+”操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无疑是一个非常消耗时间的操作。添加多个字符就意味着要一次又一次的的对字符串重新分配内存。使用StringBuffer就避免了这个问题。
Atas ialah kandungan terperinci java中String和StringBuffer有何区别?(区别对比). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

Spring Boot memudahkan penciptaan aplikasi Java yang mantap, berskala, dan siap pengeluaran, merevolusi pembangunan Java. Pendekatan "Konvensyen Lebih Konfigurasi", yang wujud pada ekosistem musim bunga, meminimumkan persediaan manual, Allo
