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>