Field/method operator for Java objects
The $ operator for jobjRef Java object references provides convenience access to object attributes and calling Java methods.
## S3 method for class 'jobjRef' .DollarNames(x, pattern = "" ) ## S3 method for class 'jarrayRef' .DollarNames(x, pattern = "" ) ## S3 method for class 'jrectRef' .DollarNames(x, pattern = "" ) ## S3 method for class 'jclassName' .DollarNames(x, pattern = "" )
x |
object to complete |
pattern |
pattern |
rJava provides two levels of API: low-level JNI-API in the form of .jcall function and high-level reflection API based on the $ operator. The former is very fast, but inflexible. The latter is a convenient way to use Java-like programming at the cost of performance. The reflection API is build around the $ operator on jobjRef-class objects that allows to access Java attributes and call object methods.
$ returns either the value of the attribute or calls a method, depending on which name matches first.
$<- assigns a value to the corresponding Java attribute.
names and .DollarNames returns all fields and methods associated with the object.
Method names are followed by ( or () depending on arity.
This use of names is mainly useful for code completion, it is not intended to be used programmatically.
$signature(x = "jobjRef"): ...
$signature(x = "jclassName"): ...
$<-signature(x = "jobjRef"): ...
$<-signature(x = "jclassName"): ...
namessignature(x = "jobjRef"): ...
namessignature(x = "jarrayRef"): ...
namessignature(x = "jrectRef"): ...
namessignature(x = "jclassName"): ...
v <- new(J("java.lang.String"), "Hello World!")
v$length()
v$indexOf("World")
names(v)
J("java.lang.String")$valueOf(10)
Double <- J("java.lang.Double")
# the class pseudo field - instance of Class for the associated class
# similar to java Double.class
Double$classPlease choose more modern alternatives, such as Google Chrome or Mozilla Firefox.