public class StringTest {
public static void main(String[] args) {
char[] char1 = new char[3];
char[] char2 = new char[3];
char1 = new char[]{'a','c','f'};
char2 = new char[]{'a','c','f'};
System.out.println(char1.equals(char2));
}
}疯了啊
两次发错地方 凭什么我这么笨啊
求前辈解释一下输出结果
这里20分
http://topic.csdn.net/u/20111103/17/238a571b-08e1-4d54-a22f-bf06d2d38994.html
这里30分
http://topic.csdn.net/u/20111103/17/655dd47b-3050-48ae-8311-7791a4dcd7ac.html
快哭了啊
那
public class StringTest {
public static void main(String[] args) {
String str1 = new String("jiangzu");
String str2 = new String("jiangzu");
System.out.println(str1.equals(str2));
}
}怎么就不比较地址了呢
str1 就不是对象了么
和 == 一样而楼主,你需要的是这个方法:
Arrays.equals(char1, char2);
STRING EQUALIS 是STRING类重写过的~~
其他对象的EQUALIS 跟==一样
所有类都是继承Object的,有些类就重写了equals()方法,使得这些equals()方法不再是比较地址的,而是比较值,但是大多数类是没有重写equals()方法的。
所以,重写equals()方法的类的对象调equals(),就是比较值的,
没有重写equals()方法的类的对象调equals(),就是比较地址的