一个简单的字符串比较问题。
Stringa="JAVA";Stringb="JAVA";Stringc=newString("JAVA");Stringd="JA";Stringe="VA";Str...
String a = "JAVA";
String b = "JAVA";
String c = new String("JAVA");
String d = "JA";
String e = "VA";
String f = "JA"+"VA";
String g = d+e;
String h = c; System.out.println("1>>:"+(a==b));/** T */
System.out.println("2>>:"+(a==c));/** F */
System.out.println("3>>:"+(a==f));/** T */
System.out.println("4>>:"+(a==g));/** F */
System.out.println("5>>:"+(c==f));/** F */
System.out.println("6>>:"+(c==g));/** F */
System.out.println("7>>:"+(c==h));/** T */后面是返回结果。。
"=="运算符不是不能直接比较两个对象吗?为什么 A==b却返回True 他俩又不是两个相同的对象 展开
String b = "JAVA";
String c = new String("JAVA");
String d = "JA";
String e = "VA";
String f = "JA"+"VA";
String g = d+e;
String h = c; System.out.println("1>>:"+(a==b));/** T */
System.out.println("2>>:"+(a==c));/** F */
System.out.println("3>>:"+(a==f));/** T */
System.out.println("4>>:"+(a==g));/** F */
System.out.println("5>>:"+(c==f));/** F */
System.out.println("6>>:"+(c==g));/** F */
System.out.println("7>>:"+(c==h));/** T */后面是返回结果。。
"=="运算符不是不能直接比较两个对象吗?为什么 A==b却返回True 他俩又不是两个相同的对象 展开
4个回答
2013-11-13
展开全部
程序在运行的时候会创建一个字符串缓冲池 当使用 String b = "JAVA";这样的表达是创建字符串的时候,程序首先会 在这个String缓冲池中寻找相同值的对象,a首先被放到池中,所以在b被创建的时候,程序找到了具有相同值的a将 b 引用a 所引用的对象"Monday" 所以==
使用了 new 操作符,他明白的告诉程序:要创建一个新的字符串不要缓冲池中的,所以不能== 但是String类重写了equals方法所以他们是equals的。 所以,String a = "JAVA";这种形式完全可以看做是原始类型的数据来判断==。(不过它确实是引用类型) 给楼主的建议:1、首先创建一个字符串最好不要使用new而是String a = "JAVA";这样的方式,节省资源!2、比较字符串是否相等要使用equals而不是==,避免出错!
使用了 new 操作符,他明白的告诉程序:要创建一个新的字符串不要缓冲池中的,所以不能== 但是String类重写了equals方法所以他们是equals的。 所以,String a = "JAVA";这种形式完全可以看做是原始类型的数据来判断==。(不过它确实是引用类型) 给楼主的建议:1、首先创建一个字符串最好不要使用new而是String a = "JAVA";这样的方式,节省资源!2、比较字符串是否相等要使用equals而不是==,避免出错!
2013-11-13
展开全部
这个是判断地址的,相等返回true否则返回flose。也就是说你你的a地址里面值和b里面都是“JAVA”,其实你还可以写成,String a=b="JAVA"懂吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-13
展开全部
这是比较的地址
a,b都是指向的同一个字符串 JAVA
a,b都是指向的同一个字符串 JAVA
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-13
展开全部
不懂~不是我学校的专业``
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询