请教一下关于==和equals的问题
在java中
String a = new String(new char[] { 'h', 'e', 'l', 'l', 'o' });
String b = new String(new char[] { 'h', 'e', 'l', 'l', 'o' });
System.out.print(a == b);
System.out.print(a.equals(b));
Object g = a;
Object h = b;
System.out.print(g == h);
System.out.print(g.equals(h));
输出结果为:false true false true
这个我理解
但在C#中,为什么
string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
Console.WriteLine(a == b);
Console.WriteLine(a.Equals(b));
object g = a;
object h = b;
Console.WriteLine(g == h);
Console.WriteLine(g.Equals(h));
输出结果为:true true false true
是不是Java和C#的new机制不一样,求指教。。。谢谢
------解决方案--------------------