簡體   English   中英

調用靜態泛型方法

[英]Calling static generic methods

我遇到了一個涉及靜態泛型方法的奇怪情況。 這是代碼:

class Foo<E>
{
    public static <E> Foo<E> createFoo()
    {
        // ...
    }
}

class Bar<E>
{
    private Foo<E> member;

    public Bar()
    {
        member = Foo.createFoo();
    }
}

為什么我不必在表達式Foo.createFoo()指定任何類型參數? 這是某種類型推斷嗎? 如果我想明確它,我如何指定類型參數?

是的,這是基於分配目標的類型推斷,根據JLS第15.12.2.8節 要明確,你會打電話給:

Foo.<String>createFoo();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM