Subject: [DISCUSS] changes to registerInterest API


Personally, I prefer the var args method (registerInterest(T... keys))
myself.  It is way more convenient if I only have a few keys when calling
this method then to have to add the keys to a List, especially for testing
purposes.

But, I typically like to pair that with a registerInterest(Iterable<T>
keys) method
as well.  By having a overloaded Iterable variant, then I can pass in any
Collection type I want (which shouldn't be restricted to just List).  It
also is a simple matter to convert any *Collection* (i.e. *List*, *Set*,
etc) to an array, which can be passed to the var args method.  By using List,
you are implying that "order matters" since a List is a order collection of
elements.

This ("*It might even cause problems of pushing in **multiple different
types.*"), regarding var args, does not even make sense. Technically,
List<T> is no different.  Java's type erasure essentially equates var args
too "Object..." (or Object[]) and the List<T> to List (or a List of Objects,
essentially like if you just did this... List<Object>) So, while the
compiler ensures compile-time type-safety of generics, there is no generics
type-safety guarantees at runtime.

On Fri, Nov 17, 2017 at 9:22 AM, Jason Huynh <[EMAIL PROTECTED]> wrote:

-John
john.blum10101 (skype)