私はJavaチュートリアルを完了しましたが、の配列についての混乱は私の心の中にまだあります。Javaは内部的にArrayの実装を提供していますか?
アレイは内部でどのように動作しますか? データメンバlength
はどこから来るのか?
私はJavaチュートリアルを完了しましたが、の配列についての混乱は私の心の中にまだあります。Javaは内部的にArrayの実装を提供していますか?
アレイは内部でどのように動作しますか? データメンバlength
はどこから来るのか?
ない「メンバ関数」length()
はありません(私たちは動的配列の長さを取得する必要がある場合、我々は通常array.length
を使用します)。配列のサイズを示す(最終)プロパティーlength
があります。配列はオブジェクトですが、主にネイティブ実装です。基本的には、境界チェックを指すポインタです。
配列の内部実装について心配する必要はありません。うまく動作します。
答えKayamanに感謝します。あなたは「ネイティブ実装」と何を言っていますか?私が同僚のいずれかが聞いた「プロキシクラス」という用語と同じです。 –
いいえ、配列を扱うJVMにはプラットフォーム依存のネイティブ実装があることを意味します。実際にどのように実装されているか気にする必要はありませんが、通常のJVMでは "スマートポインタ"となります。 – Kayaman
[配列はJava内部でどのように動作するのですか?](http://stackoverflow.com/questions/26069704/how-array-works-internally-in-java) – Gooz