当前位置: 代码迷 >> J2SE >> 关于常量池的有关问题(==的有关问题)
  详细解决方案

关于常量池的有关问题(==的有关问题)

热度:650   发布时间:2013-02-25 00:00:00.0
关于常量池的问题(==的问题)
public class Test2
{
public static void main(String[] args)
{
//常量池里的数据 编译时就确定下来了
String s1 = "疯狂java";
String s2 = "疯狂";
String s3 = "java";
String s4 = "疯狂" + "java";
String s5 = "疯" + "狂" + "java"; //常量池里的字符串
String s6 = s2 + s3; // 不能在编译期间确定下来,不能引用常量池中的字符串。
String s7 = new String("疯狂java");//new了一个新对象。
System.out.println(s1 == s4); //true
System.out.println(s1 == s5); //true
System.out.println(s1 == s6); //flase
System.out.println(s1 == s7); //flase


}
}
不明白 String s6 = s2 + s3 为什么不能在编译期间确定下来。就算不能确定下来,那么运行期间还是用的常量池啊。
所以倒数第二行 求解释。菜鸟献丑了

------解决方案--------------------------------------------------------
因为s2 s3是变量
------解决方案--------------------------------------------------------
http://topic.csdn.net/u/20120607/07/9d3a5948-ca38-4eb9-a4f8-63400b34e13a

不多说不解释
  相关解决方案