On Sat, 29 Oct 2022 00:56:18 GMT, ExE Boss <d...@openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/template/StringTemplate.java line 323:
>> 
>>> 321:      * @throws NullPointerException fragments or values is null or if 
>>> any of the fragments is null
>>> 322:      */
>>> 323:     public static String interpolate(List<String> fragments, 
>>> List<Object> values) {
>> 
>> This method also exists has a static method, having both is a bad idea 
>> because it makes StringTemplate::interpolate a compile error, the compiler 
>> has no way to know that it's the same implementation.
>
> Actually, `StringTemplate::interpolate` is fine, as this method takes two 
> parameters, whereas the instance method only takes an implicit `this` 
> parameter.
> 
> The instance method is only assignable to `Function<StringTemplate, String>` 
> or `Supplier<String>`, and the static method is only assignable to 
> `BiFunction<List<String>, List<Object>, String>`.

Ok, get it.
I still see not reason to have this method being public given that this is 
equivalent to `Template.of(fragments, values).interpolate()`.

The less methods in the API, the better.

-------------

PR: https://git.openjdk.org/jdk/pull/10889

Reply via email to