我是Java的新手,所以想确认我们可以拥有不同类型的对象 在比较方法实现比较器接口时。 喜欢。比较(员工,部门)。或者我们将转发相同类型的对象Ex,员工或部门。如果您详细解答,对我有帮助。 请确认一下。谢谢 沙希德
答案 0 :(得分:2)
您可以实施以下方法:
int compare(Object a, Object b);
如果您愿意,可以将橙子与苹果进行比较。如果你需要更严格一些,你可以(应该!)定义比较对象需要共同的东西。然后你可以从界面开始:
public interface CorporateObject
{
int getUselesnessFactor();
}
然后让Employee和Department类实现它:
public class Employee implements CorporateObject
{...
public class Department implements CorporateObject
{...
最后,比较方法如下:
public int compare(CorporateObject a, CorporateObject b){
if(a.getUselesnessFactor() < b.getUselesnessFactor()) return -1;
if(a.getUselesnessFactor() > b.getUselesnessFactor()) return 1;
return 0;
}
您将使用此方法:
int result;
Employee boss = new Employee();
Employee john = new Employee();
Department nosepickers = new Departement();
Department slackmasters = new Department();
result = compare(boss, john); // employee to employee
result = compare(nosepickers, slackmasters); // dept to dept
result = compare(boss, nosepickers); // employee to dept
result = compare(slackmasters, john); // dept to employee
等