java - Extending a class in the method signature -


can explain does? generics question since i'm learning in java tagged java.

public static <t extends comparable<? super t>> void quicksort(t[] list) {...}

what don't understand part: <t extends comparable<? super t>>

i have tried looking @ this doesn't seem explain in clear way.

my guess is: genetic type t extends comparable interface requires generic type superclass of generic type. don't understand this.

example:

public class x implements comparable<x> { } 

the class x implements comparable satisfies extends comparable , generic parameter of comparable x because x super x (java generics super keyword)

another example:

public class y {}  public class x extends y implements comparable<y> { } 

another example:

public class x implements comparable<object> { } 

but won't work:

public class {}  public class x implements comparable<a> { } 

as class x comparable objects not in it's inheritance hierarchy.

the sorting algorithm going call x.compareto(y) , needs know @ compile time that valid.


Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -