In the past we have worked around this in FindBugs by instead defining the code to be:

  new StringBuilder(str.length()).append(str).toString();

Or whatever it needs to be.  The end result is 1 allocation more (the temporary StringBuilder), but that can be stack allocated in some cases on some modern Java 6 runtimes.  I probably would have preferred changing the code here over defining the exception in the FindBugs configuration file.