Java 1.7 generator syntax syntax for generics function

Using the Java 1.7 compiler, it is interesting to note that the syntax adopted for calling common functions is very specific. This forces you to use this

to denote a common function.

For example, for a function defined as:

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

      

When accessed, the following results in a syntax error:

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

      

While the following is accepted:

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

      

Why is this so? Shouldn't you take both of them?

+3
java generics compiler-errors syntax-error


source to share


1 answer


Java Language Specification is required .

MethodInvocation:

  • Method name ([Argument])
  • Enter your name. Identifier [TypeArguments] ([ArgumentList])
  • ExpressionName. Identifier [TypeArguments] ([ArgumentList])
  • Primary. Identifier [TypeArguments] ([ArgumentList])
  • super. Identifier [TypeArguments] ([ArgumentList])
  • Enter your name. super. Identifier [TypeArguments] ([ArgumentList])


An element TypeArguments

must always appear after some expression followed by .

. It cannot precede a simple method name.

+6


source to share







All Articles
Loading...
X
Show
Funny
Dev
Pics