Generic Method
Those methods which introduce their own type parameters are called generic methods.
It is equivalent to declare a generic type, but here in method case the type parameter's scope is limited to the method only, where the type is declared. You can also declared static generic method. Also generic constructors. Static and non-static generic methods are allowed, as well as generic class constructors. In generic method syntax you need to declare the generic type before the method return type.
Method with type parameter:
public <T> void check(T t){}
Method with bounded type parameter:
public <U extends Number> void check(U u){}
Also you can define multiple bouded type parameters:
public <T extends Insect & Birds & Animals> void checkAnimal(T t){}
you can provide restrictions using the bounded type parameter.