Converts the data type of a ColdFusion variable to pass as an argument to an overloaded method of a Java object. Use only for scalar and string arguments.
JavaCast(type, variable)
Parameter | Description |
---|---|
type |
Data type to which to convert variable:
|
variable |
A ColdFusion variable that holds a scalar or string type |
Use after creating a Java object with the cfobject
tag, before calling one of its methods. If the method takes more than one overloaded argument, you must call JavaCast
for each one. Use JavaCast
only when a method is overloaded (because its arguments can take more than one data type, not because the method can take a variable number of arguments).
JavaCast
cannot be used to cast between complex objects, nor to cast to a super-class. Use this function's result only on calls to Java objects. Because there is not a one-to-one correspondence between internally stored ColdFusion types and Java scalar types, some conversions cannot be performed.
The fooClass method fooMethod
takes one overloaded argument, as follows:
public void fooMethod(String arg);
public void fooMethod(int arg);
Within ColdFusion, you use the following code:
<cfobject
type = java CLASS = fooClass name = obj> <!--- ColdFusion may treat this as a string or a real number ---> <cfset x = 33> <!--- Perform an explicit cast to an int. ---> <cfset myInt = JavaCast("int", x)> <cfset void = fooMethod(myInt)> <!--- Perform an explicit cast to a string. ---> <cfset myString = javaCast("String", x)> <cfset void = fooMethod(myString)> </cfobject>