updated webrev: http://cr.openjdk.java.net/~jlaskey/8203442/webrev-01/index.html <http://cr.openjdk.java.net/~jlaskey/8203442/webrev-01/index.html>
> On Sep 19, 2018, at 10:35 AM, Jim Laskey <james.las...@oracle.com> wrote: > >> On Sep 19, 2018, at 9:58 AM, Remi Forax <fo...@univ-mlv.fr> wrote: >> >> Hi Jim, >> the signature of transform() in the webrev was not updated (so the wildcards >> are missing). > > Apologies. I created the webrev before I fully saved. Will update in a bit. > > >> >> And i'm still not convince this method should be introduced as is: >> - it need more variants (transformToInt, transformToLong, transformToDouble) >> to be useful, currently "foo".transform(String::length) do box the resulting >> int to an Integer. >> - pull it's own weight, while it's nice to be able to be able to write code >> fluently from left to right, "foo".transform(Utils::capitalizeFirstLetter), >> you can say exactly the same thing for all classes in the JDK, e.g. >> path.transform(Utils.appendTextSuffix). Other languages have introduced an >> operator to solve that issue (function call syntax is not fluent) like by >> example the operator '|>' as in "foo" |> Utils.capitalizeFirstLetter. >> > > I hear you. Wouldn’t it be nice to have an Object::transform. Won't happen > since it would likely break the world. You could push for something |> > method(…) which applies static R method(T fakeThis, …), but that will take > years of debate. String::transform was intended to facilitate custom > manipulation (alignment) of raw string literals, in the most string > generalized way. I’ll discuss the other variants but please provide better > use cases. > > Cheers, > > — Jim > > > > >> regards, >> Rémi >> >> ----- Mail original ----- >>> De: "Jim Laskey" <james.las...@oracle.com> >>> À: "core-libs-dev" <core-libs-dev@openjdk.java.net> >>> Envoyé: Mardi 18 Septembre 2018 19:52:17 >>> Objet: RFR - JDK-8203442 String::transform (Code Review) >> >>> Please review the code for String::transform. The goal is to provide a >>> String >>> instance method to allow function application of custom transformations >>> applied >>> to an instance of String. >>> >>> webrev: http://cr.openjdk.java.net/~jlaskey/8203442/webrev/index.html >>> jbs: https://bugs.openjdk.java.net/browse/JDK-8203442 >>> csr: https://bugs.openjdk.java.net/browse/JDK-8203703 >>> >>> Cheers, >>> >>> — Jim >