- - PR -
基本データ型の配列はなぜObjectなの
| 投稿者 | 投稿内容 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-07 23:11
ニシトミです。
気になって夜も眠れません。 今まで何気なく、 基本データ型の配列をVectorにアドしてたり、 してましたが、ふと気付きました 基本データ型の配列って、Objectを継承しているのでしょうか? こんなスレッド立てると激しいツッコミが来そうで、不安ですが… もうちょっと調査してみます | ||||||||||||||||
|
投稿日時: 2003-11-07 23:47
ここを読めば眠れますhttp://summer.ics.nitech.ac.jp/~itota/javaspec/javaspec_4.html#HEADING20 | ||||||||||||||||
|
投稿日時: 2003-11-07 23:57
ぽんさん
ありがとうございました。 図と解説付きで非常に解りやすかったです。 もしかしてすごく基本的なことだったりして… 今夜はぐっすり眠れそうです、(笑)ありがとうございました。 | ||||||||||||||||
|
投稿日時: 2003-11-09 01:50
配列のスーパークラスとしてのArrayクラスなど存在しません。 全ての配列の親クラスはjava.lang.Objectです。 JLS 10.8 Class Objects for Arrays 継承関係が無いにもかかわらず、Stack[]はVector[]にキャスト可能です。 JLS 5.5 Casting Conversion 古くなってしまった情報に惑わされない様に気をつけてください [ メッセージ編集済み 編集者: nil 編集日時 2003-11-09 05:34 ] | ||||||||||||||||
|
投稿日時: 2003-11-10 09:46
Javaの内部でのみ使用しているのではなくて、存在自体していないという事ですか? 概念的な存在という事でしょうか・・・
StackはVectorを継承していますが、そういう事ではなくてですか?
情報が古いのか、元々誤っていたのか、どちらかご存知でしょうか? ご紹介頂いたページを読ませて頂きます (英語なので時間かかりそうですが... | ||||||||||||||||
|
投稿日時: 2003-11-10 11:06
BがAを継承していても、A[]とB[]の間には 件の図に示されるような継承関係はありません。 (しかしながら、キャストは可能です
http://summer.ics.nitech.ac.jp/~itota/javaspec/javaspec_1.html には「このドキュメントはJava(TM)言語の前段階の仕様書です。仕様書と言語は変更されるでしょう。」と書いてあります。JLSの草案のようなものでしょうか。 | ||||||||||||||||
|
投稿日時: 2003-11-10 11:17
>継承関係が無いにもかかわらず、Stack[]はVector[]にキャスト可能です。
すいません。これってどういう意味でしょうか? Stack は Vector を継承していると思いますが。 追加:既にフォローされておりましたね。失礼いたしました。 [ メッセージ編集済み 編集者: インギ 編集日時 2003-11-10 13:52 ] | ||||||||||||||||
|
投稿日時: 2003-11-10 14:23
JLSの日本語訳です。参考までに。
http://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html | ||||||||||||||||
