检查数组中的值是否与Java不同

检查数组中的值是否与Java不同,java,Java,我有这个密码: @Override public int compareTo(LargeInt passedIn)// { if(passedIn == null) { throw new RuntimeException("NullExceptionError"); } int ewu = 0; int avs = 0; if(this.myArray.length != passedIn.myArray.length) {

我有这个密码:

@Override
public int compareTo(LargeInt passedIn)//
{
  if(passedIn == null)
  {   
     throw new RuntimeException("NullExceptionError");
  }   
  int ewu = 0;
  int avs = 0;

  if(this.myArray.length != passedIn.myArray.length)
  {   
     return this.myArray.length - passedIn.myArray.length;
  }
  for(this.myArray.length == passedIn.myArray.length)
  {



  }
  for(int x = 0; x < this.myArray.length; x++)
  {
     ewu += this.myArray[x];       
  }
  for(int x = 0; x < passedIn.myArray.length; x++)
  {
     avs += passedIn.myArray[x];
  }
  return ewu - avs;  
如果长度相等,则遍历数组,直到找到不同的值。然后减去这两个值并返回。我该怎么做呢

如果长度相等

那么,为什么不使用
if(myArray.length==passedIn.myArray.length)
而不是
来进行
-loop呢?(在您的情况下,它只是之前条件的
else

如果条件为
true
,则按照下面的循环在数组上进行迭代。

您可以这样做

public int compareTo(LargeInt passedIn)
{
    if (this.myArray.length != passedIn.myArray.length)
    {
        return this.myArray.length - passedIn.myArray.length;
    }
    for (int i = 0; i < this.myArray.length; i++) {
        if (this.myArray[i] != passedIn.myArray[i])
            return this.myArray[i] - passedIn.myArray[i];
    }
    return 0;
}
public int compareTo(大整数通过)
{
if(this.myArray.length!=passedIn.myArray.length)
{
返回this.myArray.length-passedIn.myArray.length;
}
for(int i=0;i
如果数组的长度不同,那么您已经返回了。检查它们的长度是否相同是没有意义的。
在检查了新循环中的差异后,可以确保它们是相同的,并跳过那些汇总数组的循环。它们将具有相同的总和,因为它们必须相同。

如果(passedIn==null){throw new RuntimeException(“NullExceptionError”);}
,则此
的目的是什么?如果检查
null
只是为了抛出异常,那么只需删除该检查即可。如果变量为
null
“自动”,您将获得所需的
NullPointerException
。请解释您的
(this.myArray.length==passedIn.myArray.length)
循环。您已经知道如何使用
for
,因此只需使用另一个
并在内部使用
if(myArray[x]!=passedIn.myArray[x]){/code>。
public int compareTo(LargeInt passedIn)
{
    if (this.myArray.length != passedIn.myArray.length)
    {
        return this.myArray.length - passedIn.myArray.length;
    }
    for (int i = 0; i < this.myArray.length; i++) {
        if (this.myArray[i] != passedIn.myArray[i])
            return this.myArray[i] - passedIn.myArray[i];
    }
    return 0;
}