相关疑难解决方法(0)

Java包装器和String的对象池

众所周知,有时Java使用对象池作为包装器和String类型,有时它不会.

例如:

Integer i1 = 1;
Integer i2 = 1;
Integer i3 = new Integer(1);
String s1 = "String";
String s2 = "String";
String s3 = new String ("String");
System.out.println("(i1 == i2) " + (i1 == i2));
System.out.println("(i2 == i3) " + (i2 == i3));
System.out.println("(s1 == s2) " + (s1 == s2));
System.out.println("(s2 == s3) " + (s2 == s3));

Execution result:

(i1 == i2) true
(i2 == i3) false
(s1 == s2) true
(s2 == s3) false
Run Code Online (Sandbox Code Playgroud)

如您所见,基元的装箱从池中获取对象,通过字符串文字创建字符串也会从池中获取对象.这些对象实际上是同一个对象( …

java

7
推荐指数
2
解决办法
2342
查看次数

标签 统计

java ×1