字符串比较问题,我有点想不通啊 String st1 = "abcde"; //生成对象,存入常量池 String st2 = "abcde"; //从常量池取出所以是同一个对象,所以==用new就是新建对象,所以不等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String st1 = "abcde"; String st2 = "abcde"; st1和st2指向同一内存区"abcde",String st1 = new String("abcde");String st2 = new String("abcde");他们要先建立String对象"abcde" 然后赋给st1;再建立String对象"abcde" 然后赋给st2; 1、编译器对所有 String s = "a string" 初始化的字串建立一个表,它不包括用 new String() 在堆中创建的字串,然后查询字串表,看是不是已经存在有一个值为"a string"的字串.如果存在, s 将取得此引用,如果不存在, 建立新的字串, 并注册到表中, 返回引用给s.所以(st1 == st2) = true.2、Object类的equals()方法比较的是两个对象的引用,当且仅当两个引用指向同一内存地址时,equals()的返回值为true.但String类覆盖了Object类的equals()方法,只对内容进行比较,不对内存地址进行比较. socket 读取数据的问题 字符串问题,请帮忙!!!谢谢大家! 怎样将File类型 转化为String类型 有朋友用过java Excel API 么?(合并单元格) 非常菜的两个问题。有劳各位了 JavaBean 的编译 关于爬虫的问题 java难题 谁知道 jdbc-odbc数据库连接是否要装jdbc程序 设置jdk的path时把原来的的path删了怎么办? 怎么得到一个String 变量当前采用的编码方式 在线求助,回答立刻给分1
String st2 = "abcde";
st1和st2指向同一内存区"abcde",String st1 = new String("abcde");
String st2 = new String("abcde");
他们要先建立String对象"abcde" 然后赋给st1;
再建立String对象"abcde" 然后赋给st2;
2、Object类的equals()方法比较的是两个对象的引用,当且仅当两个引用指向同一内存地址时,equals()的返回值为true.但String类覆盖了Object类的equals()方法,只对内容进行比较,不对内存地址进行比较.