簡體   English   中英

關於泛型函數的泛型錯誤語法Java 1.7

[英]Generics error syntax Java 1.7 on generics function

使用Java 1.7編譯器,值得注意的是,調用泛型函數所接受的語法非常特殊。 它會強制您使用this來引用泛型函數。

例如,對於定義為的函數:

private <T> Object genericFunction(T t){
    //function code
}

在引用它時,以下內容給出了語法錯誤:

Object o = <ClassName>genericFunction(ClassName t);

雖然接受以下內容:

Object o = this.<ClassName>genericFunction(ClassName t);

為什么會這樣? 它不應該采取它們兩個?

它是Java語言規范所要求的

的MethodInvocation:

  • MethodName([ArgumentList])
  • TypeName。 [TypeArguments]標識符([ArgumentList])
  • ExpressionName。 [TypeArguments]標識符([ArgumentList])
  • 小學。 [TypeArguments]標識符([ArgumentList])
  • 超級 [TypeArguments]標識符([ArgumentList])
  • TypeName。 超級 [TypeArguments]標識符([ArgumentList])

TypeArguments元素總是必須在一些表達式后跟一個. 它不能在簡單的方法名稱之前。

暫無
暫無

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

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