there's differences between Java's String.format and C's printf family of functions
snprintf, in particular, requires you to pre-allocate a buffer (although on sme platforms you can make one pass first with a null buffer to measure the size required)