龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java中继承、多态、重载和重写介绍(7)

时间:2014-08-01 02:59来源:网络整理 作者:网络 点击:
分享到:
运行结果如下: String a = "ab"; String b = "cd"; "ab"+"cd" 创建的对象 "加入了" 字符串池中 a +"cd" 创建的对象 "没加入" 字符串池中 "ab"+ b 创建的对象 "没加入" 字符

运行结果如下:
String a = "ab";
String b = "cd";
"ab"+"cd" 创建的对象 "加入了" 字符串池中
a  +"cd" 创建的对象 "没加入" 字符串池中
"ab"+ b   创建的对象 "没加入" 字符串池中
a  + b   创建的对象 "没加入" 字符串池中
从上面的结果中我们不难看出,只有使用引号包含文本的方式创建的String对象之间使用“+”连接产生的新对象才会被加入字符串池中。对于所有包含new方式新建对象(包括null)的“+”连接表达式,它所产生的新对象都不会被加入字符串池中,对此我们不再赘述。
但是有一种情况需要引起我们的注意。请看下面的代码:
Java代码 

public class StringStaticTest { 
  // 常量A 
  public static final String A = "ab"; 
 
  // 常量B 
  public static final String B = "cd"; 
 
  public static void main(String[] args) { 
    // 将两个常量用+连接对s进行初始化 
    String s = A + B; 
    String t = "abcd"; 
    if (s == t) { 
      System.out.println("s等于t,它们是同一个对象"); 
    } else { 
      System.out.println("s不等于t,它们不是同一个对象"); 
    } 
  } 
} 
精彩图集

赞助商链接