java中如何比较两个数组确定是否相等?
java比较两个字符串是否相等可以用equals方法或者是“==”。
equals 方法常常用来比较两个对象的内容是否相等,如果只是比较对象的内容,而不比较对象来源和功能类型时,常用此方法。
“==”常用于用于比较引用和比较基本数据类型时是否具有不同的功能,或者是基本数据类型,如果两个值相同,则结果为true,在比较引用时,如果引用指向内存中的同一对象,结果为true。
在比较字符串时,使用equals方法会比较两个对象的字符串常量池里的内容是否相等,在使用“==”方法比较字符串时,需要指定字符串常量池里的比较的那个内容,如果内容相等结果则为true,如果没有指定内容,比较的是内容的来源。
扩展资料
java比较数组时是否相等的判断条件:
一、若当前对象和比较的对象是同一个对象,即return true。也就是Object中的equals方法。
二、若当前传入的对象是String类型,则比较两个字符串的长度,即value.length的长度。
1、若长度不相同,则return false
2、若长度相同,则按照数组value中的每一位进行比较,不同,则返回false。若每一位都相同,则返回true。
三、若当前传入的对象不是String类型,则直接返回false
参考资料来源:百度百科——equals
package rechapter9;
import java.util.Arrays;
public class BigDecimalDemo {
public static void main(String[] args) {
int[] secret = {2,3,4,5};
int[] input = {2,3,4,5};
System.out.println(Arrays.equals(secret,input));//true
}
}
不用自己写,有自带的
一个式子就能确定相等:
java.util.Arrays类下的
public static boolean deepEquals(Object[] a1,Object[] a2)
对于密码,我建议不要只是用数字哦,这个解决非数字问题。