Java在同一类的不同对象之间找到最大的属性
我想找出哪个仓库的每个零件数量最多。我建立了一个超级类,定义如下Java在同一类的不同对象之间找到最大的属性,java,object-comparison,Java,Object Comparison,我想找出哪个仓库的每个零件数量最多。我建立了一个超级类,定义如下 public abstract class warehouse { int part1; int part2; int part3; int part4; int part5; String name; File inventory = new File("Inventory.txt"); File transactions = new File("Transact
public abstract class warehouse {
int part1;
int part2;
int part3;
int part4;
int part5;
String name;
File inventory = new File("Inventory.txt");
File transactions = new File("Transactions.txt");
public warehouse() throws FileNotFoundException {
}
public int getPart1() {
return part1;
}
public int getPart2(){
return part2;
}
public int getPart3() {
return part3;
}
public int getPart4() {
return part4;
}
public int getPart5() {
return part5;
}
我有六个子类,我将展示其中一个子类的定义,它们除了name字段外都是相同的
import java.io.FileNotFoundException;
public class Atlanta extends warehouse {
public Atlanta() throws FileNotFoundException {
name = "Atlanta";
}
}
例如,我试图比较所有六个类之间的part1
。我将函数设置为返回每个部分的值,但是如果(Atlanta.getPart1()>Chicago.getPart1()&&Atlanta.getPart1()>Denver.getPart1())的话,这将非常糟糕…
有没有一种方法可以让我找到每个属性中哪个对象的价值最大,而不必为每个组合和每个部分写出来
非常感谢您的帮助。您可以使用基于抽象类的适当的比较器
Collections.max(
Arrays.asList(新亚特兰大(),新宾夕法尼亚(),…),
Comparator.comparing(仓库::getPart1)
);
为什么每个位置都有一个子类?为什么不只是一个仓库的不同实例和某种集合类来存放所有仓库呢。然后,collection类可以有一个方法告诉您哪个仓库拥有最多的“Part4S”等等。