float or long argument when passed to Java and an
  integer vector to be treated as byte or char. R doesn't
  distinguish between double and float, but Java
  does. In order to satisfy object types, numeric vectors that should be
  converted to floats or long on the Java side must be wrapped in this
  class. In addition jbyte must be used when passing scalar byte
  (but not byte arrays, those are mapped into RAW vectors). Finally
  jchar it used when mapping integer vectors into unicode Java
  character vectors..jfloat,
  .jlong, .jbyte or .jchar
  respectively."numeric", from data part.
  Class "vector", by class "numeric".  "jbyte" and "jchar":
  Class "integer", from data part.
  Class "vector", by class "integer".
.jfloat, .jlong, .jbyte, .jchar and .jcall