It depends on the Vendor and JDBC version you are using. As all databse vendors do not support Array(e.g. MySQL)
And this could be the reason Why the javadoc doesn't say anything.
I have found this tutorial Using Array Object on oracle site's JavaSE tutorials which says to release resources explicitly.
Here is another link which illustrates scenario of on free()
.
JDBC 4's java.sql.Clob.free() method and backwards compatibility
if its not necessary, is it a good idea if you're going to close the
result set right away?
I think then there should not be required to free(),but again if its a long running transcation,then its good to call free().
Quoting from the tutorial:
Array objects remain valid for at least the duration of the
transaction in which they are created. This could potentially result
in an application running out of resources during a long running
transaction. Applications may release Array resources by invoking
their free method.