我有一个方法,它接受List<>
并将列表中的所有数字加在一起,如果数字= 100则返回
我的问题是我想对许多不同类型的列表使用相同的方法
所以没有这个
public boolean checkPercent(List<BarStaff> associates){..same..}
public boolean checkPercent(List<Waiters> associates){..same..}
public boolean checkPercent(List<KitchenStaff> associates){..same..}
我想要这个
public boolean checkPercent(List<could be any type> associates){..same..}
有没有办法对所有不同类型的列表使用相同的代码(工作人员在其中具有相同的值,因此它们在任何方面都没有区别),而不是重复使用不同列表的相同代码? / p>
答案 0 :(得分:8)
您可以使用parameterized method:
public <T> boolean checkPercent(List<T> associates)
{
// snip...
}
或只是accept any list:
public boolean checkPercent(List<?> associates)
{
// snip...
}
答案 1 :(得分:7)
您可以创建generic method:
public <T> boolean checkPercent(List<T> associates) {
... your code ...
}
答案 2 :(得分:3)
使用泛型:
public <T> boolean checkPercent(List<T> associates){...}
答案 3 :(得分:2)
面向对象的方法是让BarStaff
,Waiters
和KitchenStaff
实现具有方法Employee
的{{1}}接口。
public int getPercentage()