diff --git a/jcl/src/java.base/share/classes/java/lang/String.java b/jcl/src/java.base/share/classes/java/lang/String.java index 1cd54a58e49..966e8cdd3f2 100644 --- a/jcl/src/java.base/share/classes/java/lang/String.java +++ b/jcl/src/java.base/share/classes/java/lang/String.java @@ -37,6 +37,7 @@ import java.util.Iterator; import java.nio.charset.Charset; /*[IF Java12]*/ +import java.util.function.Function; import java.util.Optional; /*[ENDIF]*/ import java.util.Spliterator; @@ -8304,5 +8305,15 @@ public Optional describeConstable() { public String resolveConstantDesc(MethodHandles.Lookup lookup) { throw new UnsupportedOperationException("Stub for Java 12 compilation (Jep334)"); } + + /** + * Apply a function to this string. The function expects a single String input and returns an R. + * + * @param f - the functional interface to be applied + * @return the result of application of the function to this string + */ + public R transform(Function f) { + return f.apply(this); + } /*[ENDIF] Java12 */ }