Java作为现在应用非常广泛的编程语言,相信每天都有很多人在学习这门编程语言。作为一门相对容易入门的编程语言,初学者可能会遇到很多疑惑。笔者就自己的学习体会,把学习过程遇到一些感悟与大家分享,希望能给初学者一些帮助。首先,从字符串类,即String类开始,介绍其作用和使用上的一些限制。
详细的操作方法或具体步骤
如何创建String类对象呢?
String类的创建有两种方法:1、直接为String类赋值;2、使用String类的构造方法创建String类对象。


上面两种方式的使用效果类似,那么他们有什么区别呢?这对于理解String类与应用非常重要。下面就来看看区别在哪?为了便于理解,先看下面一列。

从程序结果中可以发现,虽然程序中String的内容一样,但是比较的结果却是有的相等,有的不相等,为什么呢?下面通过一图来说明。从图中可以看到,由于String类是引用数据类型,堆内存中存具体内容,栈内存中存引用的地址。两种声明方式创建了两个不同的对象,因此,str1不等于str2;str1不等于str3;而str2等于str3。

需要指出的是,要比较字符串里的内容,可调用equals方法。如图中例子所示。

从上面两种创建方法中,有一个容易忽视的地方就是一个字符串其实就是一个String类的匿名对象。为理解这一点,请看下面一列。为什么会出现实例后三个变量都相等呢?

其实只要记住一个字符串就是一个匿名对象就可以解释上面的而结果了。也就是“百度”这个匿名对象把“使用权”给了str1、str2、str3,即把地址给他们了。因此,他们是相等的。为便于理解以图示意。

小结一下,为了能较快的理解String类避免出错,要记住String类是一个引用数据类型,变量名中存放的是引用内容的存放地址。还有一点,就是一个字符串如“百度”,是一个匿名String类对象,直接赋值实例化只是把地址给了变量,即赋的是地址值!
注意事项如有不足,请留言交流、讨论。谢谢!经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
