2012-05-08 4 views
1

にキャストすることはできません。にClassCastException - JavaScriptObjectマイGWTアプリは、この例外がスローされjava.lang.Stringで

Caused by: java.lang.ClassCastException: com.google.gwt.core.client.JavaScriptObject$ cannot be cast to java.lang.String 

JSNIを経由して、この関数の文字列の応答を取得する場合:

public final native String data()/*-{ 
    return $wnd.getdata(); 
}-*/; 

}

JavaScriptのコードは次のとおりです。

function getdata(){ 
    var data = MyObject.data(); 
    console.log(data); 
    return data; 
    } 

私はここにFirebugのから出力されたデータをログ記録していますが(JS関数は実際に何かを返しているかどうかをチェックするために)出力です:

-0.00030517578125,0.00006103515625,0.00115966796875,0.00146484375、-0.00091552734375、-0.000946044921875、 - 0.001983642578125、-0.003997802734375、-0.005126953125、-0.00360107421875、-0.0032958984375、-0.004119873046875、-0.00433349609375、-0.0023193359375、-0.0008544921875、-0.003448486328125、-0.00347900390625、-0.0054931640625、-0.0067138671875、-0.005279541015625、-0.006072998046875、

答えて

1

簡単な解決策はおそらく$wnd.getdata().toString();ですが、おそらく試してみるべきですtypeof $wnd.getdata()は本当にそのタイプが何であるかを知るために、おそらく別の場所に潜んでいるバグでしょう。

+0

その奇妙な型は、型が「オブジェクト」であることをMyObject関数のデータから示しています。function(){ return this.flashInterface()。data()。split( ";"); (): – xybrek

+0

Actionscriptは、実際のJavaScript文字列、または同じAPIを持ち、JavaScript文字列のように動作する*オブジェクトを返すかどうかを指定します。 –

+0

私は戻り値が最終的にStringであると仮定しました。console.logにはコンマで区切られた浮動小数点の文字列が表示されます。 – xybrek

関連する問題