首頁 > Java > 使用兩個泛型實作介面

使用兩個泛型實作介面

王林
發布: 2024-02-09 10:45:09
轉載
464 人瀏覽過

php小編新一將為大家介紹使用兩個泛型實作介面的方法。泛型是一種能夠在程式語言中使用類型參數的特性,它可以增加程式碼的靈活性和復用性。在實作介面時,我們可以使用泛型來指定介面中的類型參數,從而在不同的場景下使用不同的資料類型。這種方法可以讓我們的程式碼更加通用和可擴展,提高開發效率。在本文中,我們將詳細講解如何使用兩個泛型實作接口,並給出範例程式碼供大家參考。

問題內容

我的家庭作業中有一項任務,但我無法克服它。

變壓器介面的程式碼如下:

public interface transformer<from, to> {
    to transform(from value);
}
登入後複製

到目前為止,personsubscribertransformer 類別的程式碼如下所示:

public class PersonSubscriberTransformer<FROM, TO> implements Transformer {
    private Predicate<Person> predicate;
    public PersonSubscriberTransformer(Predicate<Person> predicate) {
        this.predicate = predicate;
    }
    @Override
    public Object transform(Object value) {
        return null;
    }
  }
登入後複製

transform方法的參數應該是list<person>並且它應該回傳一個list<subscriber>。當我更改參數時,我收到一條錯誤訊息,提示我應該將該方法拉至 transformer 介面。

以正確的方式實現此方法的解決方案是什麼?

解決方法

根據transform 的預期簽名,from 應該是list<person>to 應該是list<subscriberphpcngt phpcn。類別本身不應該是通用的。

public class PersonSubscriberTransformer implements Transformer<List<Person>, List<Subscriber>> {
    // constructor...
    
    @Override
    public List<Subscriber> transform(List<Person> persons) {
        // complete this method...
        return null;
    }
}
登入後複製

以上是使用兩個泛型實作介面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板