Java(C#)String类型的比较

String str = "abc";

String str2 = "a";

String str3 = "bc";

System.out.println(str == str2 + str3);     //fasle

System.out.println(str == "a" + str3);      //fasle

System.out.println(str == "a" + "bc");      //true

第一个与第二个结果为什么会false?

第三个是2个字符串直接拼接会在常量池中生成新的对象(当对象已存在时候直接返回对象地址),所以str的指向的对象和字符串拼接结果所指向的对象是相同的,不知道这种理解是否有问题?


string str = "abc";

string str2 = "a";

string str3 = "bc";

Console.WriteLine(str == str2 + str3);  //true

Console.WriteLine(str == "a" + str3);   //true

Console.WriteLine(str == "a" + "bc");   //true

然而C#中的结果都为true,这2种语言对string类型的维护上有什么不同?求大神解答


元芳怎么了
浏览 708回答 5
5回答

largeQ

Java中String不是基本类型是对象啊
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java