String实例化及static final修饰符实现方法解析
一种是通过双引号直接赋值的方式,另外一种是使用标准的new调用构造方法完成实例化。 使用直接赋值后,只要是以后声明的字符串内容相同,则不会再开辟新的内存空间。对于String的以上操作,在java中称为共享设计。String就是因为采用了这样的设计,所以当内容重复时,会将对象指向已存在的实例空间。工作后发现,大型的项目里,常常会见到定义字符串使用 private static final String = "abc" 的方式。 “类变量”属于类的成员,类的成员是被储存在堆内存里面的。 static修饰的String,会在堆内存中复制一份常量池中的值。所以调用 static final String 变量,实际上是直接调用堆内存的地址,不会遍历字符串池中的对象,节省了遍历时间。所以使用static final修饰的字符串还是有好处的。
下载地址
用户评论