【发布时间】:2012-01-30 06:32:21
【问题描述】:
我有静态 java 方法,我用这个方法添加到 javascript:
public void addJavaMethod(Method method)
{
try
{
FunctionObject fo = new FunctionObject(method.getName(), method, m_scope);
FunctionObject.putProperty(m_scope, method.getName(), fo);
}
catch(Exception e)
{
e.printStackTrace();
}
}
我总是在这些方法中使用对象类作为参数,否则会出现错误,例如:
而不是
static void setSomeFloatValueHere(float value){}
我用:
static void setSomeFloatValueHere(Object value)
{//convert this object to a float}
使用布尔值我可以进行直接转换:
static void setBoolean(Object b){someBooleanObject = (Boolean)b;}
但是对于 int、float、long、double 等,我无法做到这一点。 我收到一个错误:
org.mozilla.javascript.Undefined cannot be cast to java.lang.Integer
我怎样才能让它也适用于这些类型?可能还有其他非原始类型对象? 谢谢
【问题讨论】:
标签: java javascript methods rhino