Java中,String a = “A”及String b = new String(“A”),则a与b做等比较,即(a==b),会有何结果 Java中,String a = “A”及String b = new String(“A”),则a与b做等比较,即(a==b),会有何结果 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 b只不过是"A"的副本,也就是另外一个。可以去看看 String 类中带 String 参数构造方法的 API DOC,上面说得很清楚,不要这样去用。 a是一个值类型的,而b是一个引用类型的,用==肯定是false "a" == "a""a" != new String("a"); false,因为a是一个值类型的,而b是一个引用类型的,用==肯定是false,若用a.equals(b)则为true.《java编程思想》中有==和equals的具体用法. a和b只不过是同一对象的不同引用,而==比较的就是对象的引用,所以自然结果为false. == 基本类型比较时是比较值,引用类型比较时是比较地址是否相同,String不是基本类型比较两个字符串相等一般用equals方法String a ="" 的形式 是可共享的,比如说String a ="a"与Stirng b = "a"地址相同,a==b返回trueString a = new String();是在堆里独立创建的对象,地址不同 false,其实你可以用a.getClass()和b.getClass方法看看a和b到底是什么 false!!!因为==比较的是内存地址,a,b两个引用在栈里的值是不同。 Java开源项目学习 已经安装了jdk-6u18-windows-i586,还是提示不支持FOREACH语法 关于Java中的线程池 关于jtable 背景图片 如何实现这样的功能 如何判断字符是繁体中文 java 1.5下怎么编译? 问个问题 我在run方法里面加入一个设置守护线程的语句 为何报错 祝csdn上所有的朋友圣诞快乐! (同时请教一个很简单的问题) 问一个问题哈!关于try ***Static在JAVA虚拟机中执行顺序的问题***
"a" != new String("a");
《java编程思想》中有==和equals的具体用法.
比较两个字符串相等一般用equals方法String a ="" 的形式 是可共享的,比如说String a ="a"与Stirng b = "a"地址相同,a==b返回true
String a = new String();是在堆里独立创建的对象,地址不同
因为==比较的是内存地址,a,b两个引用在栈里的值是不同。