rJava (version 0.5-0)

jfield: Obtains the value of a field

Description

.jfield returns the value of the specified field on an object.

Usage

.jfield(o, sig = NULL, name, true.class = is.null(sig), convert = TRUE)
`.jfield<-`(o, name, value)

Arguments

o
Class name or object (Java reference) whose field is to be accessed. Static fields are supported both by specifying the class name or using an instance.
sig
signature (JNI type) of the field. If set to NULL rJava attempts to determine the signature using reflection. For efficiency it is recommended to specify the signature, because the reflection lookup is quite expensive.
name
name of the field to access
true.class
by default the class of the resulting object matches the siganture of the field. Setting this flag to TRUE causes .jfield to use true class name of the resulting object instead. (this flag has no effect on scalar fiel
convert
when set to TRUE all references are converted to native types (where possible). Otherwise Java references are returned directly.
value
value to assign into the field. The field signature is determined from the value in the same way that parameter signatures are determined in .jcall - be sure to cast the value as necessary, no au

Value

  • .jfield: contents of the field, .jfield<-: modified object.

Details

The detection of a field signature in .jfield using reflection is considerably expensive (more than 3 additional method calls have to be performed), therefore it is recommended for time-critical code to specify the field signature beforehand.

NOTE: The sequence of arguments in .jfield has been changed since rJava 0.5 to be more consistent and match the sequence in .jcall. Also .jsimplify is no longer needed as primitive types are obtained directly.

See Also

.jcall

Examples

Run this code
.jfield("java/lang/Boolean",, "TYPE")

Run the code above in your browser using DataCamp Workspace