I meant this:

@SuppressWarnings("unchecked")
public static <L, R> ImmutablePair<L, R> nullPair() {
  return (ImmutablePair<L, R>) NULL;
}

On 11 May 2017 at 11:17, Gary Gregory <garydgreg...@gmail.com> wrote:

> On Thu, May 11, 2017 at 5:35 AM, Matt Benson <gudnabr...@gmail.com> wrote:
>
> > On May 11, 2017 1:03 AM, "Gary Gregory" <garydgreg...@gmail.com> wrote:
> >
> > On Wed, May 10, 2017 at 10:58 PM, Matt Sicker <boa...@gmail.com> wrote:
> >
> > > Matching the of() static factories, how about ImmutablePair.ofNull()
> > >
> >
> > I like it but at the same time it feels to me like I am getting a NEW
> > object like ImmutablePair.of(x, y) give me a new object. Might just be me
> > ;-)
> >
> >
> > You provide the methods so that people can get an instance parameterized
> > for their compilation needs. In reality you can return the same empty,
> > immutable instance.
> >
>
> Yes, of course:
>
>     /**
>      * An immutable pair of nulls.
>      */
>     // This is not defined with generics to avoid warnings in call sites.
>     @SuppressWarnings("rawtypes")
>     private static final ImmutablePair NULL = ImmutablePair.of(null, null);
>
>     @SuppressWarnings("rawtypes")
>     // This is not defined with generics to avoid warnings in call sites.
>     public static ImmutablePair nullPair() {
>         return NULL;
>     }
>
> Gary
>
>
>
> >
> > Matt
> >
> >
> > Gary
> >
> >
> > > On 11 May 2017 at 00:03, Gary Gregory <garydgreg...@gmail.com> wrote:
> > >
> > > > On Wed, May 10, 2017 at 9:27 PM, Matt Sicker <boa...@gmail.com>
> wrote:
> > > >
> > > > > Wouldn't it make sense to expose typed methods like in
> > > > > Collections.emptyList() et al.?
> > > > >
> > > >
> > > > So in this case:
> > > >
> > > > ImmutablePair.nullPair()
> > > >
> > > > Gary
> > > >
> > > > >
> > > > > On 10 May 2017 at 22:10, Javen O'Neal <one...@apache.org> wrote:
> > > > >
> > > > > > +1
> > > > > >
> > > > > > The of method should check if all elements are null, and if so to
> > > > return
> > > > > > the NULL singleton. This would reduce the number of objects
> created
> > > and
> > > > > > garbage collected.
> > > > > >
> > > > > > So long as ImmutablePair and ImmutableTriple classes are final
> (not
> > > > > > subclassable), then identity checking could be used in place of
> > > > equality
> > > > > > checking when comparing against a null tuple. This would be
> > > marginally
> > > > > > faster.
> > > > > >
> > > > > > Any preference of being explicit (redundant) here?
> > > > > > ImmutablePair.NULL_PAIR and ImmutableTriple.NULL_TRIPLE
> > > > > >
> > > > > > On May 10, 2017 7:35 PM, "Gary Gregory" <garydgreg...@gmail.com>
> > > > wrote:
> > > > > >
> > > > > > Hi All,
> > > > > >
> > > > > > Any thoughts for or against adding the following to
> ImmutablePair:
> > > > > >
> > > > > >
> > > > > >     /**
> > > > > >      * An immutable pair of nulls.
> > > > > >      */
> > > > > >     // This is not defined with generics to avoid warnings in
> call
> > > > sites.
> > > > > >     @SuppressWarnings("rawtypes")
> > > > > >     public static final ImmutablePair NULL =
> ImmutablePair.of(null,
> > > > > null);
> > > > > >
> > > > > > Same for ImmutableTriple.
> > > > > >
> > > > > > ?
> > > > > >
> > > > > > Thank you,
> > > > > > Gary
> > > > > >
> > > > > > --
> > > > > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > > > > > Java Persistence with Hibernate, Second Edition
> > > > > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > > > > > linkCode=as2&tag=garygregory-20&linkId=
> > > cadb800f39946ec62ea2b1af9fe6a2
> > > > b8>
> > > > > >
> > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > garygregory-20&l=am2&o=1&a=
> > > > > > 1617290459>
> > > > > > JUnit in Action, Second Edition
> > > > > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > > > > > linkCode=as2&tag=garygregory-20&linkId=
> > > 31ecd1f6b6d1eaf8886ac902a24de4
> > > > > > 18%22>
> > > > > >
> > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > garygregory-20&l=am2&o=1&a=
> > > > > > 1935182021>
> > > > > > Spring Batch in Action
> > > > > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > > > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > > > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > > > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> > > garygregory-20&l=am2&o=1&a=
> > > > > > 1935182951>
> > > > > > Blog: http://garygregory.wordpress.com
> > > > > > Home: http://garygregory.com/
> > > > > > Tweet! http://twitter.com/GaryGregory
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Matt Sicker <boa...@gmail.com>
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > > > Java Persistence with Hibernate, Second Edition
> > > > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > > > linkCode=as2&tag=garygregory-20&linkId=
> cadb800f39946ec62ea2b1af9fe6a2
> > b8>
> > > >
> > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> garygregory-20&l=am2&o=1&a=
> > > > 1617290459>
> > > > JUnit in Action, Second Edition
> > > > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > > > linkCode=as2&tag=garygregory-20&linkId=
> 31ecd1f6b6d1eaf8886ac902a24de4
> > > 18%22
> > > > >
> > > >
> > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> garygregory-20&l=am2&o=1&a=
> > > > 1935182021>
> > > > Spring Batch in Action
> > > > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > > > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > > > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > > > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > > > <http:////ir-na.amazon-adsystem.com/e/ir?t=
> garygregory-20&l=am2&o=1&a=
> > > > 1935182951>
> > > > Blog: http://garygregory.wordpress.com
> > > > Home: http://garygregory.com/
> > > > Tweet! http://twitter.com/GaryGregory
> > > >
> > >
> > >
> > >
> > > --
> > > Matt Sicker <boa...@gmail.com>
> > >
> >
> >
> >
> > --
> > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> > Java Persistence with Hibernate, Second Edition
> > <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> > linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1617290459>
> > JUnit in Action, Second Edition
> > <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> > linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de4
> > 18%22>
> >
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1935182021>
> > Spring Batch in Action
> > <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> > tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> > linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> > 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> > <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> > 1935182951>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
> >
>
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> JUnit in Action, Second Edition
> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> Spring Batch in Action
> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
Matt Sicker <boa...@gmail.com>

Reply via email to