java - 以下代码是否可以检查对象数组的内容是否彼此相等?
问题描述
我有这个大学班,我想看看老师和学生是否平等
public class college
{
public boolean equals()
{
boolean isEqual = true;
int i = 0;
while(students[i] != null || teacher[i] != null)
{
if(!students[i].equals(teacher[i]))
{
isEqual = false;
}
i++;
}
return isEqual;
}
}
解决方案
我建议添加 1 个长度检查 + 更改您的代码以使用 for 循环。
1)
isEqual = (submarine.length == fighterJet.length);
因此,如果长度不同,您将不会进入循环。
2)
for(int i = 0; isEqual && i < submarine.length; i++)
此循环将在不相等的值时退出循环。
新代码 -
public boolean equals()
{
boolean isEqual = (submarine.length == fighterJet.length);
for(int i = 0 ; isEqual && i < submarine.length ; i ++){
if(!submarine[i].equals(fighterJet[i]))
{
isEqual = false;
}
}
return isEqual;
}
推荐阅读
- javascript - 仅当满足条件时才在 'fetch' 中执行 'then'
- resources - 是否存在对角线移动的资源?
- r - 如何将文件夹中的所有 JPEG 图像加载到 R 变量?
- selenium - 使用 selenium 提取网站的面包屑
- java - 如何在java中从一个线程运行多个get请求?
- python-3.x - 如何检查一个csv中的单词是否存在于另一个csv文件的另一列中
- android - 当框架布局设置为某些自定义背景时文本隐藏(如何不从父级继承样式)
- vue-cli - 如何在bootstrap vue中将一列划分为b表中的多行?
- r - gridExtra::marrangeGrob 设置字幕
- java - 想要拥有专用缓存并希望其他进程从此缓存中获取数据(Java)