String and intern

原创 2006年06月17日 17:56:00
1. 在学习JAVA的时候就知道==比较的是内存地址.而equals比较的是内存地址对应的值!(可是还是有很多的人问来问去的,真不知道他们JAVA的基础课程是怎么学的?!)

2. JAVA所有的对象都是存放在堆中的!你获取的"对象"仅仅只是对象的引用而已

3. String是比较特殊的对象,特殊在
3.1 > String a = new String("test") -此时你是在堆中实例化了一个字符串对象
3.2 > String b = "test"-此时JVM会先去堆中寻找这样的对象;如果有就返回此对象的引用;如果没有就重新实例化一个这样的对象!基于这样的一个过程所以JAVA要求String不可以更改值的。

3.3 >intern()方法就是试图完成这样的一个寻找过程
When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object) method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned.
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java-String中的 intern()

1. 首先String不属于8种基本数据类型,String是一个对象。 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 ...

String intern()

public String intern()返回字符串对象的规范化表示形式。 一个初始为空的字符串池,它由类 String 私有地维护。 当调用 intern 方法时,如果池已经包含一个等于此 Str...

string中“+”号重载及intern方法

以下内容为thinking in java(p504-p509)总结: java中没有运算符重载,但实际上“+”在java中实现了重载,一条语句中第一个”+“当且运算的一方为String对象时,是将...

深入理解java虚拟机(三):String.intern()-字符串常量池

深入理解java虚拟机(一):java内存区域(内存结构划分) 深入理解java虚拟机(二):java内存溢出实战   看源码:  public native String intern();    ...

使用String.intern减少内存使用

最近写一个程序,从文件中读取一些字/词,然后存储起来供别的类引用。 对每个读入的词创建一个String,结果许多同样内容的也会存储多份,会占用大量内存。 开始的一个想法是使用map/set来存储所...

String中intern的方法

转载自:一沙鸥  http://www.cnblogs.com/wanlipeng/archive/2010/10/21/1857513.html 首先查看官方API那个的解...

深入分析Java String.intern()方法

深入分析JDk1.6和JDK1.7中String.intern()方法区别

java-String中的 intern()

intern

java String.intern()

1. 首先String不属于8种基本数据类型,String是一个对象。 因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)