Looks like fill pointer isn't taken into account:

(jcall "toString" (make-array 10
              :element-type 'character
              :adjustable t
              :fill-pointer 3 :initial-contents "fooxxxxxxx"))
->
"fooxxxxxxx"

-Alan