有关int 和 Object 转换问题(oracle 10 默认JDK 1.4.2)

      前天使用rhino 和js做了一个oracle的function,由于客户使用的是oracle 10,所以只支持jdk1.4.2的,其实很简单的,就是让oracle的函数支持使用javascript编写,实现过程较为简单,就是在传递参数时要求使用Object[] args , 可当我写如下代码时报错: Object [] args = {3,29};  很明确地说不能将int 转换为Object ,以前好象没有这样的情况,查了好半天才想起原来在jdk1.4的时候,是不能把一个int 赋值给 Object , 我最早使用的jdk版本就是1.4.2的,可能太长时间了(2003年),记不得了。最后我重新看了1.4的文档搞清楚如下办法可以在int 和 Object 之间互转:

JDK1.5 之后版本:

直接这样写就行了

Object obj = 99;

int i = (Integer)obj;

JDK1.4及之前版本

Object obj = Integer.valueOf(20);

int i = ((Integer)obj).intValue();

也就是说oracle 10中使用的rhino话,在初始化int参数时要使用这样的方式:

Object [] args = {Integer.valueOf(3),Integer.valueOf(9)}; 而不能使用Object args={3,9};


你可能感兴趣的:(有关int 和 Object 转换问题(oracle 10 默认JDK 1.4.2))