1

を取り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..} 

異なるリストの同じコードを再利用する代わりに、すべての異なるタイプのリストに同じコードを使用する方法はありますか (スタッフには同じ値が含まれているため、まったく違いはありません)。

4

4 に答える 4

8

パラメータ化されたメソッドを使用できます:

public <T> boolean checkPercent(List<T> associates)
{
    // snip...
}

または、任意のリストを受け入れる

public boolean checkPercent(List<?> associates)
{
    // snip...
}
于 2012-07-17T15:20:41.387 に答える
7

ジェネリックメソッドを作成できます:

public <T> boolean checkPercent(List<T> associates) {
    ... your code ...
}
于 2012-07-17T15:20:46.260 に答える
3

ジェネリックを使用する:

public <T> boolean checkPercent(List<T> associates){...}
于 2012-07-17T15:21:01.543 に答える
2

オブジェクト指向のアプローチはBarStaffWaiters、、 メソッドを持つインターフェースをKitchenStaff実装することです。Employeepublic int getPercentage()

public boolean checkPercent(List<? extends Employee> associates)
{
    foreach (Employee associate in associates)
    {
        int i = associate.getPercentage();
        // rest of code.
    }
}
于 2012-07-17T15:24:21.813 に答える