[英]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.