.jnull returns a null reference of a specified class type. The resulting object is of the class jobjRef.

is.jnull is an extension of is.null that also returns TRUE if the supplied object is a null Java reference.

.jnull(class = "java/lang/Object")
is.jnull(x)

Arguments

class

fully qualified target class name in JNI notation (e.g. "java/lang/String").

x

object to check

Value

.jnull returns a Java object reference (jobjRef) of a null object having the specified object class.

is.jnull returns TRUE if is.null(x) is TRUE or if x is a Java null reference.

Details

.jnull is necessary if null is to be passed as an argument of .jcall or .jnew, in order to be able to find the correct method/constructor.

Example: given the following method definitions of the class A:

  • public static void run(String a);

  • public static void run(Double n);

Calling .jcall("A",,"run",NULL) is ambiguous, because it is unclear which method is to be used. Therefore rJava requires class information with each argument to .jcall. If we wanted to run the String-version, we could use .jcall("A",,"run",.jnull("java/lang/String")).

is.jnull is a test that should be used to determine whether a given Java reference is a null reference.

See also

Examples

if (FALSE) { # \dontrun{
.jcall("java/lang/System","I","identityHashCode",.jnull())
} # }