String和StringBuffer之间的区别
字符串是一个不可变的类,创建后不能修改其对象,但必须引用其他对象。它们在多线程环境中非常有用,因为多个线程无法更改对象的状态,因此不可变对象是线程安全的。
字符串缓冲区是可变的类,可用于对字符串对象执行操作,例如反向字符串,压缩字符串等。我们可以在不创建字符串新对象的情况下修改字符串。字符串缓冲区也是线程安全的。
另外,字符串concat+运算符在内部使用StringBuffer或StringBuilder类。以下是区别。
字符串示例
public class Main { public static void main(String args[]) { String s1 = "Hello nhooo.com"; String upperCase = s1.toUpperCase(); System.out.println(upperCase); } }
StringBuffer的示例
public class StringBufferExample{ public static void main(String[] args){ StringBuffer buffer=new StringBuffer("Hi"); buffer.append("Java 8"); System.out.println("StringBufferExample" +buffer); } }