
Sign up to save your podcasts
Or
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好
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好
178 Listeners
264 Listeners
289 Listeners
262 Listeners