A Lisp object, a jobject or
0 <= index < (java-array-length array)
jvref returns the corresponding element from array. If the element is of a primitive type, or is of type
java.lang.String, it is converted to the Lisp object, otherwise it is returned as a jobject or
nil if it is
null. See Types and conversion between Lisp and Java.
For a non-primitive array, new-value must be convertible to a jobject of the correct class. If the element type of array is
java.lang.Object (java-array-element-type returns
:object), then any Lisp value that can converted to a Java primitive type is acceptable (see Types and conversion between Lisp and Java), as well as strings and any Java object. If the element type of array is
java.lang.String (java-array-element-type returns
:string), then strings or Java objects of class
java.lang.String are acceptable. In all other cases, only Java objects are acceptable, and need to be of the correct type.
(setf jvref) access the top level of the array. If array is multi-dimensional,
(setf jvref) will return and set the sub-array. See jaref for accessing elements in a multi-dimensional array.
(setf jvref) are slightly faster than jaref and
(setf jaref) with one index, and give a proper error when called with the wrong number of arguments.
LispWorks User Guide and Reference Manual - 20 Sep 2017