java中如何比较两个数组确定是不是相等?

author author     2023-03-19     492

关键词:

比如说我设计了个密码锁有两个数组int[] secret 和 int[] input。最后要开锁的时候要确定两个数组中的内容是否相等,我首先是用了if (secret,equals(input)) 结果调试的时候发现这里答案是不相等。。。然后我又用了secret == input发现结果还是一样的,不相等。最后我改成了secret[0] == input [0]这样一个一个比较,然后答案便是相等了。请问这是为什么呢? 有没有办法用一个式子就能确定相等?

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

参考技术A 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

不用自己写,有自带的

参考技术B Object 的equals方法比较的是地址;String的equals方法比较的是内容。

一个式子就能确定相等:
java.util.Arrays类下的
public static boolean deepEquals(Object[] a1,Object[] a2)

对于密码,我建议不要只是用数字哦,这个解决非数字问题。
参考技术C

判断java中的数组是否相等,有一个方法:Array.equal(new int[], new int[]);

这样的结果是:true。        

参考技术D 写一个类,数组作为成员变量,重写(equals 方法)或者自己写一个方法 就可以了的啊

java中如何比较两个数组对象的内容是不是相等?急

char[]a='a','b';char[]b='a','f';Stringsa=String.valueOf(a);Stringsb=String.valueOf(b);if(sa.equals(sb))System.out.println("两个数组相等");elseSystem.out.println("两个数组不相等");追问Stringsa=String.valueOf(a);Stringsb=String.valueOf... 查看详情

请教如何比较两个hash是不是相同

1、新建一个html文件,命名为test.html。2、在js标签内,使用“[]”创建两个数组,分别保存在变量a和变量b中。3、在js标签内,再创建一个变量temp,初始值为1,用于记录数组是否相同。当它为1时,表示两个数组相同,当它为0时... 查看详情

判断两个数组是不是相等

参考技术A如何比较两个数组内容是否相等一、不能通过\'==\'或者\'===\'来判断两个数组是否相等因为JavaScript里面,数组是对象,上面等式是判断两个数组是否是同一个引用对象;在JavaScript里面是没有内置判断两个数组相等的方... 查看详情

如何检查数组中的数字是不是相等?

】如何检查数组中的数字是不是相等?【英文标题】:Howtocheckifnumbersinarrayequal?如何检查数组中的数字是否相等?【发布时间】:2013-12-2117:18:48【问题描述】:如何检查数组中的数字是否相等?我有一个包含10个数字的数组,我... 查看详情

如何判断两个对象的值是不是相等java

参考技术A判断两个值是否相等,可以使用=比较地址,equals比较内容。如果比较的是数字,必须使用=比较。 参考技术B这个类是什么样的类,比较类的对象,一般比较的是对象的属性,这样的话就可以在类里面写个CompareTo(XXXX)... 查看详情

如何在javascript中检查两个数字是不是相等[重复]

】如何在javascript中检查两个数字是不是相等[重复]【英文标题】:Howtocheckiftwonumbersareequalinjavascript[duplicate]如何在javascript中检查两个数字是否相等[重复]【发布时间】:2019-07-2711:40:48【问题描述】:假设我们有一个数组:letarr=[10... 查看详情

如何在一个循环中比较两个列表的值是不是相等?

】如何在一个循环中比较两个列表的值是不是相等?【英文标题】:HowcanIcompareforequalitythevaluesoftwolistsinoneloop?如何在一个循环中比较两个列表的值是否相等?【发布时间】:2013-05-1617:22:58【问题描述】:所以我想这样做,以便检... 查看详情

如何将数组列表的相等性与现代 Java 进行比较?

】如何将数组列表的相等性与现代Java进行比较?【英文标题】:HowtocompareequalityoflistsofarrayswithmodernJava?【发布时间】:2016-05-2607:11:27【问题描述】:我有两个数组列表。如何在不使用外部库的情况下轻松比较这些与Java8及其特性... 查看详情

java如何判断两个二维对象数组相等,让后打印一句话。

如果数组是java原生类型的,如char[]、byte[]、int[]、long[]、boolean[]...等,可以用Arrays.equals(arr1,arr2)比较。如果数组是自定义对象类型的,你要先重写该对象类的equals方法,然后才可以用Arrays.equals(obj1[],obj2[])比较,注意:必须重写... 查看详情

比较两个list里是不是有相同的元素

首先这里需要确定一下集合相等的定义,我们应该是认为两个集合的元素完全一致则相等。那么判断可以这样做:第一步:判断两个list集合的元素个数是否相等。如果不相等则两个list集合也不相等,判断结束,如果相等则进入... 查看详情

js比较两个数组是不是相等是不是拥有相同元素

要判断JS中的两个数组是否相同,需要先将数组转换为字符串,再作比较。以下两行代码将返回true<scripttype="text/javascript">alert([].toString()==[].toString());alert([].toString()===[].toString());</script>JS要比较两个数组是否有相... 查看详情

java中如何判断两个string是不是相等

1.在java中,不能用“==”和“!=”来判断两个字符串是否相等。因为String是引用类型,而不是基本数据类型。故它们的比较是使用地址和值来比较,因为它们是不同的对象,有不同的地址。故str1==str2永远是false,而str1!=str2永远... 查看详情

您如何确定两个 HashSet 是不是相等(按值,而不是按引用)?

】您如何确定两个HashSet是不是相等(按值,而不是按引用)?【英文标题】:HowdoyoudetermineiftwoHashSetsareequal(byvalue,notbyreference)?您如何确定两个HashSet是否相等(按值,而不是按引用)?【发布时间】:2010-10-0409:35:50【问题描述】... 查看详情

java中怎么比较两个字符串是不是相等?

JAVA比较两个字符串是否相等可以用equals方法或者是“==”。equals方法常常用来检测两个对象是否相等,即两个对象的内容是否相等,如果只是比较对象的内容,而不比较对象来源和功能类型时,常用此方法。“==”常用于用于比... 查看详情

sqlserver中两个text类型数值如何比较是不是相等

在sql语句中作为条件比较……参考技术AcreatetabletestText(textColtext,textCol2text)insertintotestText(textCol,textCol2)values('searchThis','searchThis1')select*fromtestTextwhereSUBSTRING(textCol,1,datalength(textCol))<>SUBSTRING(textCol2,1,datalength(textCol2))/*t... 查看详情

java怎么比较两个对象是不是相等?

java中的基本数据类型判断是否相等,直接使用"=="就行了,相等返回true,否则,返回false。但是java中的引用类型的对象比较变态,假设有两个引用对象obj1,obj2,obj1==obj2判断是obj1,obj2这两个引用变量是否相等,即它们所指向... 查看详情

判断字符是不是相等?

...表达一个字符相等?一个字符怎么相等?你是指两个字符是不是相等吗?判断字符串的话s1.strcmp(s2)返回0则相等如果是字符直接用==判断java中如何判断输入的字符串是否与一个固定字符串相等一般新手可能出现对比两个字符串... 查看详情

为啥java不可以用“==”来比较两个字符串是不是相等?

Java中,如果两个字符串是这样Stinga=“a”赋值方式时,同样也可以使用==来比较是否相等,但实际上也不是在比较两个变量的内容,当新一个变量赋值时(Stinga=“a”赋值方式会把值放到栈中)先会从栈中找是否有相同的值,如果有... 查看详情