String Object
2014-02-17 17:56
253 查看
String在Java中是比较特殊的数据类型,平时也会遇到很多关于String的问题,所以,我在此对String的资料做了整理。
一、String对象定义:
String对象的定义有下面两种方法
![](http://img.blog.csdn.net/20140217172216640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhlbnppXzE5ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第一种方法是在Stack上面建立一个String池,String池中的元素是不允许重复的,也就是说,如果再用第一种方法建立一个"Hello World"的String对象
stackString2,那么String池中不会再去建立一个“Hello Wolrd”的String,而是将stackString2设为第一次创建的对象的引用。
第二种方法是在Heap上面建立一个String对象,这种方式在Heap上面建立的对象是允许存在重复对象的。
二、String对象相等的比较:
Java中对相等的比较有两种方式,“==”和“equals()”,其中“==”比较的是两边是不是指向同一个对象,而equals()方法针对的是内容的比较。
例如:
![](http://img.blog.csdn.net/20140217173429468?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhlbnppXzE5ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140217173440390)
三、 String中的intern()方法
Java源代码中是这么来描述的:
“It follows that for any two strings s and t, s.intern() == t.intern() is true if and only if s.equals(t) is true.”
也就是说,intern()方法比较的其实就是内容,就相当于s.equals(t)。
![](http://img.blog.csdn.net/20140217175538687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhlbnppXzE5ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
一、String对象定义:
String对象的定义有下面两种方法
第一种方法是在Stack上面建立一个String池,String池中的元素是不允许重复的,也就是说,如果再用第一种方法建立一个"Hello World"的String对象
stackString2,那么String池中不会再去建立一个“Hello Wolrd”的String,而是将stackString2设为第一次创建的对象的引用。
第二种方法是在Heap上面建立一个String对象,这种方式在Heap上面建立的对象是允许存在重复对象的。
二、String对象相等的比较:
Java中对相等的比较有两种方式,“==”和“equals()”,其中“==”比较的是两边是不是指向同一个对象,而equals()方法针对的是内容的比较。
例如:
三、 String中的intern()方法
Java源代码中是这么来描述的:
“It follows that for any two strings s and t, s.intern() == t.intern() is true if and only if s.equals(t) is true.”
也就是说,intern()方法比较的其实就是内容,就相当于s.equals(t)。
相关文章推荐
- Objective-C Runtime理解 --- 转载
- IDataObject详解
- Objective-C ,C++,java中常用编码格式对比
- to disable the entity lazy load, The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
- Debugging C++ Release Projects - Finding the Lost Object Information
- Objective-C中变量采用@property的各个属性值的含义
- flex添加对象属性
- 【Objective-C】OC中键值编码(KVC的概念和使用方法
- (论文分析) Object Detection -- Class-Specific Hough Forests for Object Detection
- (论文分析) Object Detection -- A Boundary Fragment Model for Object Detection
- (论文分析) Object Detection -- Object Class Recognition by Unsupervised Scale-Invariant Learning
- (论文分析) Object Detection -- Sketch Tokens: A Learned Mid-level Representation for Contour and Object Detection
- 【Objective-C】OC中键值编码(KVC)的概念和使用方法
- 【Objective-C】OC中键值编码(KVC)的概念和使用方法
- Entity Framework 学习初级篇2--ObjectContext类的介绍
- (译)Objective-C的动态特性
- object_id (N'...')是什么意思?
- JSONObject与JSONArray的使用
- EBS OAF开发中的Java 实体对象(Entity Object)<二>
- Object-C使用笔记: FMDatabase使用