1

誰かがこれが何を意味するのか説明できますか?

Java数値(java.langクラスByte、Character、Short、Int、Long、Float、およびDouble)のボックス化オブジェクトは、ボックス化されておらず、メソッドから宣言された戻り型である場合を除き、使用可能な最も近いJavaScript数値型に変換されます。または、アプレットごとのPackagesキーワードを使用した新しい式の結果。この場合、ボクシングオブジェクトはJavaオブジェクトとしてJavaScriptエンジンに返されます。

Javaブール値はJavaScriptブール値に変換されます。 ただし、メソッドからの戻り型として宣言されている場合、またはアプレットごとのPackagesキーワードを使用した新しい式の結果である場合を除きます。この場合、ボクシングオブジェクトはJavaオブジェクトとしてJavaScriptエンジンに返されます。

Java文字列はJavaScript文字列に変換されます。ただし、アプレットごとのPackagesキーワードを使用した新しい式の結果である場合を除きます。この場合、Java文字列はJavaオブジェクトとしてJavaScriptエンジンに返されます。

これはliveconnect仕様によるものですが、Javaタイプがいつjavascriptタイプに変換されるのか、いつ変換されないのかがわかりません。例外部分とはどういう意味ですか?例はありますか?

4

1 に答える 1

2

あなたが持っているとしましょう

Integer i;
i = 1;

次に、は自動的にオブジェクトint 1に変換されます。Integerそれはオートボクシングです。

Java数値(java.langクラスByte、Character、Short、Int、Long、Float、およびDouble)のボックス化オブジェクトは、ボックス化されておらず、使用可能な最も近いJavaScript数値型に変換されます。

そのように変換された整数は、ネイティブjavascriptに戻ることを意味しintます。

ただし、メソッドから宣言された戻り型である場合、またはアプレットごとのPackagesキーワードを使用した新しい式の結果である場合を除きます。この場合、ボクシングオブジェクトはJavaオブジェクトとしてJavaScriptエンジンに返されます。

...ただし、整数を返す関数を宣言した場合は、代わりにJavaオブジェクト表現に変換されます。これは、このパッケージキーワードを使用して作成したものにも当てはまります。 (これが何であるかはわかりませんが、それが意味することです。)

更新:仕様の例を次に示します。

JSコードの場合:

val = new app.Packages.com.mycompany.MyClass();

valたとえば、 IntegerJavaの場合、この場合はjavascriptになりますJSObject

Java文字列はJavaScript文字列に変換されます。ただし、アプレットごとのPackagesキーワードを使用した新しい式の結果である場合を除きます。この場合、Java文字列はJavaオブジェクトとしてJavaScriptエンジンに返されます。

同様に、Java文字列がある場合

String s = "I am a string."

Javaの内部表現とメソッドを使用すると、Packagesキーワードを使用して作成しない限り、javscrip0t文字列(さまざまな実装とメソッド)に変換されます。

于 2011-01-31T06:00:42.703 に答える