String str = "abc";String str2 = "a";String str3 = "bc";System.out.println(str == str2 + str3); //fasleSystem.out.println(str == "a" + str3); //fasleSystem.out.println(str == "a" + "bc"); //true第一個與第二個結果為什么會false?第三個是2個字符串直接拼接會在常量池中生成新的對象(當對象已存在時候直接返回對象地址),所以str的指向的對象和字符串拼接結果所指向的對象是相同的,不知道這種理解是否有問題?string str = "abc";string str2 = "a";string str3 = "bc";Console.WriteLine(str == str2 + str3); //trueConsole.WriteLine(str == "a" + str3); //trueConsole.WriteLine(str == "a" + "bc"); //true然而C#中的結果都為true,這2種語言對string類型的維護上有什么不同?求大神解答
添加回答
舉報
0/150
提交
取消