The purpose of var-args, at least from my vantage, is to produce
detail messages that are used by java.lang.String.format.

Paul

On Thu, Nov 26, 2009 at 7:11 AM, James Carman
<ja...@carmanconsulting.com> wrote:
> I just wrote a class that included...
>
>    public static <T> T someMethod(T val)
>    {
>        System.out.println("Single value method!");
>        return val;
>    }
>
>    public static <T> T[] someMethod(T... values)
>    {
>        System.out.println("Multi-value method.");
>        return values;
>    }
>
>    public static void main(String[] args)
>    {
>        someMethod("Hello");
>        someMethod("Hello", "World");
>    }
>
> When I ran it, it printed:
>
> Single value method!
> Multi-value method.
>
> So, what's the big deal?  Create a single-value method and create a
> multi-value method.  I must be missing something in this discussion.
>
> On Thu, Nov 26, 2009 at 12:16 AM, Paul Benedict <pbened...@apache.org> wrote:
>> If we want to implement LANG-508 (Validate: add message parameter
>> construction via elllipsis notation to speed up processing), I am
>> really concerned with the many overloaded versions of #validIndex()
>> and #notEmpty() that solely differ by static argument type:
>> Collection, Object, Object[], CharSequence, etc.
>>
>> Because var-args instantiate a new Object[], it won't be possible to
>> easily create one-argument optimized overloaded versions to prevent
>> the creation. Such as:
>> public static <T> T[] notEmpty(Object array, String message, Object var1);
>> public static <T> T[] notEmpty(Object array, String message, Object
>> var1, Object var2);
>> public static <T> T[] notEmpty(Object array, String message, Object
>> var1, Object var2, Object var3);
>> public static <T> T[] notEmpty(Object array, String message, Object
>> var1, Object var2, Object var3, Object... vars);
>>
>> I am following the good advice on Joshua Bloch on this one. It's item
>> #42 in his Effective Java book.
>>
>> I want to eliminate the overloaded versions by type and check those
>> types using instanceof instead. Thoughts?
>>
>> Paul
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to