String str1= "123";
String str2 = "45";String str3 = "12345";String str4 =str1+str2;
String str5 ="123"+"45";System.out.println(str3 ==str4);
System.out.println(str3==str5);str3 str4 str5分别是什么类型?
String str2 = "45";String str3 = "12345";String str4 =str1+str2;
String str5 ="123"+"45";System.out.println(str3 ==str4);
System.out.println(str3==str5);str3 str4 str5分别是什么类型?
解决方案 »
- 奇怪为什么老是出现,需要CLASS和interface,高手帮我看下好吗?谢谢谢谢
- 初学java,遇见问题,不知解决,谢谢帮忙。在线等候。。。。。。。。
- 大家提提意见,哪里还能在代码层面进行“防反编译”优化
- 在线等,createImage()为什么返回null?
- 两个Runtime.getRuntime().exec()的问题
- 请问:try catch 的问题
- 有关dom,sax等的简单问题
- 大家帮我看看程序,急!!!!!!!!!!!
- 怎样获取URL
- 大家好 谁有Java Developers ALMANAC 这本书感觉如何 顺便送分
- JavaSwing显示gif动画
- JAVASE学习过程。。。
只是==操作符比较的是地址
因为JVM会把String常量放到常量池中,所以相同的String常量,只有一个对象,不同的引用都会指向这个对象。
所以下面的 str31==str32 返回trueString str31 = "12345";
String str32 = "12345";
而且JVM会把【"123"+"45"】这种常量间的相加的结果,也会放入常量池,所以 str3 == str5 返回trueString str3 = "12345";
String str5 ="123"+"45";
另外JVM不会把含有变量的字符串【str1+str2】相加放入常量池,所以str4 == str3 返回falseString str1= "123";
String str2 = "45";
String str3 = "12345";
String str4 = str1+str2;
if(“123”==“123”)System.out.println("判断正确");
字符串与字符串相等的逻辑判断就成了boolean型了
基本数据类型可以使用== 比较内容
js里没有equals