top | item 29872746

(no title)

paradaux | 4 years ago

I don't think I have seen classes with many parameters to avoid varargs in Java, however I have certainly seen classes with dozens of Type Parameters, I believe some form of code generation was responsible.

Can't for the life of me find that class again.

discuss

order

jdmichal|4 years ago

SLF4J Loggers define up to two arguments for precisely this purpose:

https://www.slf4j.org/apidocs/org/slf4j/Logger.html#error(ja......)

> This form avoids superfluous string concatenation when the logger is disabled for the ERROR level. However, this variant incurs the hidden (and relatively small) cost of creating an Object[] before invoking the method, even if this logger is disabled for ERROR. The variants taking one and two arguments exist solely in order to avoid this hidden cost.

vips7L|4 years ago

Look at Set.of and Map.of. Lots of overloads to avoid allocating the vararg array.