String, 首先,String有字面值常量的概念,这个字面值常量是在编译期确定下来的,类加载时直接存入常量池(注意,常量池是类的常量池,类与类之间隔离)。 而运行时生成的字符串,是不在常量池中的。如果想放入常量池中,使用intern()方法即可。 其次,像字面量字符串,因为存放在常量池里边,被常 ...
分类:
编程语言 时间:
2016-05-08 16:29:01
阅读次数:
241
1.方法intern()为java内部方法,如下publicnativeStringintern();native方法为通过jvm进行运行,jdk8中隐藏了该方法的具体处理方法。2.作用:该方法注释为“如果常量池中存在当前字符串,就会直接返回当前字符串.如果常量池中没有此字符串,会将此字符串放入常量池中后,再返回”..
分类:
其他好文 时间:
2016-04-28 18:27:38
阅读次数:
454
1. 首先String不属于8种基本数据类型,String是一个对象。因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;3. S ...
分类:
编程语言 时间:
2016-04-07 13:30:49
阅读次数:
173
API文档中的介绍: A pool of strings, initially empty, is maintained privately by the class String. When the intern method is invoked, if the pool already con
分类:
其他好文 时间:
2016-03-19 22:34:21
阅读次数:
236
intern方法 public class Main { public static void main(String[] args) { String str1 = new String("asd"); String str2 = str1.intern();/* 字符串常量池中有,就返回字符串,
分类:
编程语言 时间:
2016-03-02 23:52:35
阅读次数:
250
运行时常量池概述Java运行时常量池中主要存放两大类常量:字面量和符号引用。字面量比较接近于Java语言层面的常量概念,如文本字符串、声明为final的常量值等。
而符号引用则属于编译原理方面的概念,包括了下面三类常量:
- 类和接口的全限定名(包名+类名)
- 字段的名称和描述符
- 方法的名称和描述符运行时常量池位置运行时常量池在JDK1.6及之前版本的JVM中是方法区的一部分...
分类:
其他好文 时间:
2016-01-05 12:46:50
阅读次数:
220
String 字面值赋值字符串采用new 创建31节关于字符串拼接,intern方法值得面试前看包装类byte, short ,int,long,float,double,boole数组的length属性是public final的,例如:每次初始化数组new int[6]的时候在构造方法里赋值为6...
分类:
编程语言 时间:
2015-12-07 12:06:51
阅读次数:
131
相信绝大多数的人不会去用String类的intern方法,打开String类的源码发现这是一个本地方法,定义如下:public native String intern(); 文档告诉我们该方法返回一个字符串对象的内部化引用。public String intern()返回字符串对象的规范化表示形式...
分类:
其他好文 时间:
2015-12-04 00:54:54
阅读次数:
186
public String intern()返回字符串对象的规范化表示形式。? 一个初始时为空的字符串池,它由类 String 私有地维护。? 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(O...
分类:
其他好文 时间:
2015-09-19 14:01:30
阅读次数:
153
String类的intern()方法:(intern拘留的意思)publicStringintern()返回字符串对象的规范化表示形式。一个初始为空的字符串池,它由类String私有地维护。当调用intern方法时,如果池已经包含一个等于此String对象的字符串(用equals(Object)方法确定),则返回池中的字符串。..
分类:
编程语言 时间:
2015-09-13 20:05:06
阅读次数:
129