第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在Java中創(chuàng)建泛型類型的實(shí)例?

在Java中創(chuàng)建泛型類型的實(shí)例?

達(dá)令說(shuō) 2019-06-01 16:44:15
在Java中創(chuàng)建泛型類型的實(shí)例?是否可以在Java中創(chuàng)建泛型類型的實(shí)例?我的想法是基于我所看到的答案no (由于類型擦除),但如果有人能看到我缺少的東西,我會(huì)感興趣的:class SomeContainer<E>{     E createContents()     {         return what???     }}編輯:原來(lái)超級(jí)代幣可以用來(lái)解決我的問(wèn)題,但它需要大量基于反射的代碼,如下所示。我暫時(shí)不談這個(gè)問(wèn)題,看看有沒(méi)有人能拿出和伊恩·羅伯遜截然不同的東西Artima條款.
查看完整描述

4 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

不知道這是否有幫助,但當(dāng)您的子類(包括匿名)泛型類型時(shí),類型信息可以通過(guò)反射獲得。例如,

public abstract class Foo<E> {

  public E instance;  

  public Foo() throws Exception {
    instance = ((Class)((ParameterizedType)this.getClass().
       getGenericSuperclass()).getActualTypeArguments()[0]).newInstance();
    ...
  }}

因此,當(dāng)您子類foo時(shí),您會(huì)得到Bar的一個(gè)實(shí)例,例如,

// notice that this in anonymous subclass of Fooassert( new Foo<Bar>() {}.instance instanceof Bar );

但這是很多工作,而且只適用于子類。不過(guò)很方便。


查看完整回答
反對(duì) 回復(fù) 2019-06-01
?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

你需要某種抽象的工廠來(lái)推卸責(zé)任:

interface Factory<E> {
    E create();}class SomeContainer<E> {
    private final Factory<E> factory;
    SomeContainer(Factory<E> factory) {
        this.factory = factory;
    }
    E createContents() {
        return factory.create();
    }}


查看完整回答
反對(duì) 回復(fù) 2019-06-01
  • 4 回答
  • 0 關(guān)注
  • 1621 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)