I'm not completely up on generics.  I don't care for them all that much.  But from what I can see, you use extends to remove stuff from the collection and super to add stuff to the collection.  extends creates a child class, where super references the parent class.  it seems like a hacky way to go about manipulating collections of generics, but the whole generics systems feels like that to me.

On Sat, May 21, 2016 at 6:47 PM, trent shipley <trent.shipley@gmail.com> wrote:
"extends" used with a wildcard {"?"} such as SomeCollection<? extends T> makes sense to me.  After reading stackoverflow, I am only somewhat more enlightened on what SomeCollection<? super T> means, how it is used, and why one might want to use it.

Trent.

On Sat, May 21, 2016 at 6:18 PM James Mcphee <jmcphe@gmail.com> wrote:
Check the answer to this stackoverflow.  It says it better than I can.  http://stackoverflow.com/questions/3009745/what-does-the-question-mark-in-java-generics-type-parameter-mean

On Sat, May 21, 2016 at 1:08 PM, trent shipley <trent.shipley@gmail.com> wrote:

Can anyone tell me what the keyword "super" does in this parameter list for the constructor below? I can only find documentation for the more mundane use when a method references an ancestor.

public WeightedCollection(Comparator<? super E> comp)


package pcgen.base.util;

<</ deleted stuff>>

/**

* Constructs an empty WeightedCollection with the given Comparator used to

* establish equality and order in the WeightedCollection.

* @param comp

*            The Comparator this Set will use to determine equality and

*            order of the WeightedCollection

*/

public WeightedCollection(Comparator<? super E> comp)

{

     if (comp == null)

     {

          theData = new ListSet<WeightedItem<E>>();

     }

     else

     {

          theData = new TreeSet<WeightedItem<E>>(

                new WeightedItemComparator<E>(comp));

     }

} 



---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss



--
James McPhee
jmcphe@gmail.com
---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss

---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss



--
James McPhee
jmcphe@gmail.com