java中==与euqals的区别
==既可以比较基本数据类型,也可以比较引用数据类型
基本数据类型是直接比较数值,引用数据类型直接比较地址
equals是比较地址,可以在类中重写
public class text {
public static void main(String[] args) {
int arr1[]=new int [2];
arr1[0]=1;
arr1[1]=1;
int arr2[]=new int [2];
arr2[0]=1;
arr2[1]=1;
//arr2=arr1;
System.out.println(arr1.equals(arr2));
System.out.println(arr1==arr2);
System.out.println(arr1[0]==arr2[0]);
}
}
两个引用数据类型指向同一块内存时,任何一个引用使这个值改变,都会使这块内存改变
public class text {
public static void main(String[] args) {
int arr1[]=new int [2];
arr1[0]=1;
arr1[1]=1;
int arr2[]=new int[2];
arr2=arr1;
arr2[0]=3;
arr2[1]=4;
//arr2=arr1;
// System.out.println(arr1.equals(arr2));
// System.out.println(arr1==arr2);
// System.out.println(arr1[0]==arr2[0]);
System.out.println(arr1[0]);
arr1[0]=5;
System.out.println(arr1[0]);
}
}

浙公网安备 33010602011771号