JAVA中的String

日期:2019-10-13 10:09:48 来源:互联网 编辑:小优 阅读人数:383

首先,String类型属于引用类型(对象)String类(java.lang.String)是被final修饰的类,不能被继承。String类有如下特点:

字符串内容一旦声明则不可改变,String类对象内容的改变是依靠引用关系的变更实现的。

根据这些特点,我们再来看看下面的几个例子:

在下面的代码中s到底有没有改变?

String s=“abc”

s=s+1。

表面上看是改变了String型的变量s的,但实际上是没有改变的。为什么说是没有改变呢? 其实这是一种欺骗,JVM是这样解析这段代码的:

首先创建对象s,赋予一个abcd,再创建一个新的对象s用来执行第二行代码,也就是说我们之前对象s并没有变化(它还是它,并没有改变,只是有新的对象代替了它)所以我们说String类型是不可改变的对象了,正如上文中String的特点2所说的那样。由于这种机制,每当用String 操作字符串时,实际上是在不断的创建新的对象,而原来的对象就会变为垃圾被GC回收掉,可想而知这样执行效率会变低

2.在下面的代码中,一共创建了几个对象?

String gh=“a”

for(int i=0; i<3;i++)

gh+=i。

有了第一个例子,这个问题就简单了,一共创建了4个对象“a”“a0”“a01”“a012”

本文相关词条概念解析:

对象

对象原本是一个哲学词语,表示客体事物不以人的意志为转移而又与人的存在相关联的某种规定性。对象从哲学词语变成为一个爱情或与爱情有关的词语,绝对是当代中国人的发明。大约从1950年代开始,由于谈情说爱被视为小资产阶级情调,因而搞对象一词便流行开来,几乎成了谈恋爱的代名词,以其一本正经的事务性和目的性取代了风花雪月的谈恋爱。但它之所以能够大面积地流行开来,恐怕还是与中国人的传统观念和文化心态有关。

网友评论
相关文章
Java中的泛型基础介绍完了

Java中的泛型基础介绍完了

Java中的泛型基础介绍完了[详情]

Java许可已更改, 您可能会受到哪些影响?

Java许可已更改, 您可能会受到哪些影响?

Java许可已更改, 您可能会受到哪些影响?[详情]

阿里年薪百万架构师首次分享Java程序员黄金五年进阶心得

阿里年薪百万架构师首次分享Java程序员黄金五年进阶心得

阿里年薪百万架构师首次分享Java程序员黄金五年进阶心得[详情]

网站地图    Copyright     2016-2018  资讯网   All rights reserved.