
1140
DEVELOPING
COLDFUSION 9 APPLICATIONS
Using Web Elements and External Objects
Las
t
upda
te
d 8/5/2010
Under most situations, when the method names are not ambiguous, ColdFusion can determine the data types that a
Java object requires, and often it can convert ColdFusion data to the required types. For example, ColdFusion text
strings are implicitly converted to the Java String type. Similarly, if a Java object contains a doIt method that expects a
parameter of type int, and CFML is issuing a doIt call with a CFML variable x that contains an integer value,
ColdFusion converts the variable x to Java int type. However, ambiguous situations can result from Java method
overloading, where a class has multiple implementations of the same method that differ only in their parameter types.
Default data type conversion
Whenever possible, ColdFusion automatically matches Java types to ColdFusion types.
The following table lists how ColdFusion converts ColdFusion data values to Java data types when passing arguments.
The left column represents the underlying ColdFusion representation of its data. The right column indicates the Java
data types into which ColdFusion can automatically convert the data:
The following table lists how ColdFusion converts data returned by Java methods to ColdFusion data types:
CFML
Java
Integer
short, int, long (short and int can result in a loss of precision).
Real number
float double (float can result in a loss of precision.
Boolean
boolean
Date-time
java.util.Date
String, including lists
String
short, int, long, float, double, java.util.Date, when a CFML string represents a number or date.
boolean, for strings with the value Yes, No, True, and False (case-insensitive).
Array
java.util.Vector (ColdFusion Arrays are internally represented using an instance of a java.util.Vector
object.)
ColdFusion can also map a CFML array to any of the following when the CFML array contains
consistent data of a type that can be converted to the data type of the Java arr: byte[], char[],
boolean[], int[], long[], float[], double[], String[], or Object[]. When a CFML array contains data of
different of types, the conversion to a simple array type could fail.
Structure
java.util.Map
Query object
java.util.Map
XML document object
Not supported.
ColdFusion component
Not applicable.
Java
CFML
boolean/Boolean
Boolean
byte/Byte
String
char/Char
String
short/Short
Integer
int/Integer
Integer
long/Long
Integer
float/Float
Real Number
Содержание COLDFUSION 9
Страница 1: ...Developing Applications ADOBE COLDFUSION 9...