1

c/c++では、次のようなことができます

float b = 3.;
int a = *(int*)&b;

Javaで同じことをしたいのですが、可能ですか?

ありがとうございました。

4

4 に答える 4

3

Java にはポインタがありません。この特定のケースでは、使用できますFloat.intBitsToFloat(およびFloat.floatToIntBits他の方法でDoubleも同様の方法があります)。ただし、ファンキーな「変換」を行う方法はありません。

于 2013-08-23T04:53:55.160 に答える
3

POINTERJAVAにはそのようなものはありません。JAVAには、メモリ管理またはGC(ガベージコレクタ)と呼ばれる機能があり、メモリ関連のすべての操作を処理します。メモリ アドレスを使用してメモリ ブロックにアクセスすることはできません。

于 2013-08-23T04:54:18.077 に答える
2

PointersJava では使用できません。で作業する必要がありObjectます。

Float f = new Float(3.0);
Integer i = Math.round(f);
于 2013-08-23T04:53:01.403 に答える