慕莱坞9220042
你好:原始类型(int, long, float, double, short, char等)可又直接使用==比较:如:int a = 1, b = 1;a == b结果为true引用类型(也就是对象)其实也可又用==比较,不过这里的比较不是比较内容了,而是比较对象在内存中的地址,也就相当于C/C++中的指针。所以String s = "abc", s1 = s;这时候 s == s1结果为true,因为它们指向内存中的同一个地址,而String s = "abc";String s1 = "abc";这两条语句看似都把"abc"同时赋给了s和s1,但实际上在内存中是分配了两块内存,一块存放"abc",另一块存放另一个"abc",s和s1的地址不同,所以s == s1结果是false那么如何比较它们的内容而不是比较地址呢,java的基类Object中有equals方法,用于比较两个对象的内容是否相同,只要子类实现了该方法,就可以使用此方法进行比较,String这么强大的类当然实现了该方法,所以比较两个字符串是否相同应该使用下面的方法:s.equals(s1)或者s1.equals(s),这两种方法的结果都是true望采纳!