2020年JAVA面试208题

018-Java中操作字符串的类有哪些


Listen Later

1 Java中操作字符串的有3个类:String  StringBuilder StringBuffer

2 String的本质是字符数组

3 String内部定义了一个字符数组存储字符串的每个字符,并且改字符串被final修饰,所以,决定了String的内容是不可修改的,一旦修改其实是重新开辟了内存,创建了新的字符数组。

4少量的字符串编辑和修改,用String没问题。频繁的字符串编辑修改,String的性能太低了。

5 StringBuilder是为了频繁操作字符串而生的。它默认开辟一块更大的字符数组,比如一个字符串只有8个字符,StringBuilder开辟一块儿32个字符的空间存储改字符串,这样如果在该字符串后再追加8个字符,就不需要开辟新空间了,从而提高了性能。

7 StringBuilder和StringBuffer的功能和方法是一模一样的,区别就是StringBuilder是线程不安全的,StringBuffer是线程安全的。

8 StringBuffer在每个方法上使用Synchronized关键字进行修饰,方法在多线程中是同步的,从而实现线程安全。你好你好

9总结:

String性能低,操作简单,只能在不频繁操作字符串的时候使用;

StringBuilder的性能最好;

StringBuilder和StringBuffer所有功能和方法都一样;

StringBuilder是线程不安全的,StringBuffer是线程安全的;

StringBuffer因为线程安全,所以性能不如StringBuilder好



...more
View all episodesView all episodes
Download on the App Store

2020年JAVA面试208题By 小崔爱读书


More shows like 2020年JAVA面试208题

View all
What's Next|科技早知道 by 声动活泼

What's Next|科技早知道

178 Listeners

声动早咖啡 by 声动活泼

声动早咖啡

264 Listeners

半拿铁 | 商业沉浮录 by 潇磊&刘飞

半拿铁 | 商业沉浮录

289 Listeners

天真不天真 by 杨天真本真

天真不天真

262 Listeners