java相关

1.String类是无法改变的

String s = "Google";
System.out.println("s = " + s);

s = "Runoob";
System.out.println("s = " + s);

 输出结果为:

Google
Runoob

从结果上看是改变了,但为什么说String对象是不可变的呢?

原因在于实例中的 s 只是一个 String 对象的引用,并不是对象本身,当执行 s = "Runoob"; 创建了一个新的对象 "Runoob",而原来的 "Google" 还存在于内存中。

2.StringBuffer和String的区别

String 长度大小不可变

StringBuffer 和 StringBuilder 长度可变

StringBuffer 线程安全 StringBuilder 线程不安全

StringBuilder 速度快

StringBuffer 的长度是可变的,调用StringBuffer 的 append 方法,来改变 StringBuffer 的长度,并且,相比较于 StringBuffer,String 一旦发生长度变化,是非常耗费内存的(第一点已说明)!

 

3.java允许二维数组行的长度可以不同

String s[][] = new String[2][];
s[0] = new String[2];

s[1] = new String[3];

  



原文地址:https://www.cnblogs.com/panlongfeng/p/7199282.html