2
我有靜態的Java方法,我添加的JavaScript用這種方法:調用從犀牛靜態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;}
但隨着整型,浮點,長,雙等,我不能這樣做。 我收到一個錯誤:
org.mozilla.javascript.Undefined cannot be cast to java.lang.Integer
我如何能得到這個與這些類型的工作呢?並可能還有其他非原始類型的對象? 感謝
謝謝,你說得對不對路的一些東西,比如我發現有的只是雙打,而不是浮動。儘管如此,我仍堅持長期價值。在js中,如果我說:var x = 0; setLong(X);其中setLong需要很長的價值,我檢查了你寫的方式類型和我得到「org.mozilla.javascript.Undefined」。 0不應該是不確定的嗎? 另外,我可以使用NativeJavaObject作爲參數,而不是對象其他更復雜的對象,並用NativeJavaObject.unwrap獲得對象值(); – user1177453 2012-01-30 09:38:03
@ user1177453沒有花車?哪裏? – 2012-10-27 02:51:40