I am seeing this:
public static <T,U extends T> AutoBean<T> getAutoBean(U delegate)
I know the input class is of U type and AutoBean class is of T type and U extends T is the boundary. But what does <T,
mean here?
Also, if I am going to write a function to accept the output of getAutoBean, how would you write the function declaration? (i.e. myFunction(getAutoBean(...)), what will the function declaration of myFunction() be?)
Thank you!
It just declares the types that your method deals with. That is to say, that it basically has to first declare the generic type names, and only then use them in the signature. <T
doesn't mean anything by itself, but the letters within angular brackets mean "Here are the types I am going to use in the method".
As to "myFunction()" to work with the output of getAutoBean(...)
:
public static <T> String myFunction(AutoBean<T> arg){ // If you return a generic type object, you will also have to declare it's type parameter in the first angular brackets and in angular brackets after it.
// do work here
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With