string类型的相等 String pp="qq"; String ee="qq";为什么pp==ee是ture?它们在内存当中如何分配? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 又是关于String.....String pp = "qq",先是在String池中去找,结果没找到,然后在堆栈中new 出一个"qq"放进String池中,接着把pp的引用指向String池中的"qq".String ee = "qq",同样先在String池中去找"qq",因为前面创建过了,所以直接把ee的引用指向String池中的"qq".既然他们指向的是同一个对象,不难理解他们是相等的了吧..以上为个人理解,有错误希望指正.. pp-->qq;ee-->qq;pp/ee-->qq;pp==ee. 简单来说 ==是比较内存地址 equals 比较的是内容 除非是重写equals方法String pp="qq"; String ee="qq"; pp 和ee都是指向 qq的同一个引用 所以 ==是相等的 “==” 应该是调用的String类的equals(Object str)函数,查看java源代码可以看到,是逐个字符比较的。 String pp=new String("qq");String ee=new String("qq");这两个用==是false,我理解, String pp=“qq”;String ee=new String(“qq”);这两个==为什么也false? 为什么仅仅是一楼那种形式==是true?? String pp ="qq" 就是先在字符串常量池中去创建一个,创建之前先在池中查找是否已经存在此变量,若存在,则直接赋值,否则创建String pp = new String("qq");堆内存中有个变量值存储着指向字符串常量池的“qq”的内存内存地址 eclipse的小问题 求救 java修改 vlc 范型的问题 请教一个关于jtree鼠标右键的问题 一个关于立体矩形的画法!! 从jdk1.4.2转为jdk1.5的问题:java.lang.NoClassDefFoundError: IllegalName 咨询linux和java高手 关于package后图片找不到的问题 java.lang.NoSuchMethodError: main 谁能帮我看看下面的程序错在什么地方? 正确吗: 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。 新手问题
String pp = "qq",先是在String池中去找,结果没找到,然后在堆栈中new 出一个"qq"放进String池中,接着把pp的引用指向String池中的"qq".
String ee = "qq",同样先在String池中去找"qq",因为前面创建过了,所以直接把ee的引用指向String池中的"qq".
既然他们指向的是同一个对象,不难理解他们是相等的了吧..
以上为个人理解,有错误希望指正..
ee-->qq;
pp/ee-->qq;
pp==ee.
equals 比较的是内容
除非是重写equals方法
String pp="qq";
String ee="qq";
pp 和ee都是指向 qq的同一个引用
所以 ==是相等的
String pp=new String("qq");
String ee=new String("qq");
这两个用==是false,我理解,
String pp=“qq”;
String ee=new String(“qq”);
这两个==为什么也false?
为什么仅仅是一楼那种形式==是true??
String pp = new String("qq");堆内存中有个变量值存储着指向字符串常量池的“qq”的内存内存地址