こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Doja 5.0 でGenericsは使えない?

Doja 5.0ツールで、Genericsを用いたコードを含むiアプリ用のプロジェクトをビルドすると

(総称型を使用可能にするには、-source 5 以降を使用してください)

というエラーが出ます。
javacのオプションは -source 3 となっているようです。

これは変更できないものなのでしょうか?
また,現在のDoCoMo携帯の実機に載っているJVMのバージョンはどう調べればよいでしょうか?

初歩的な質問ですがよろしくお願いします。

投稿日時 - 2007-07-03 16:22:16

QNo.3136314

暇なときに回答ください

質問者が選んだベストアンサー

>Doja 5.0 でGenericsは使えない?
たぶん、使えないと思います。

GenericsというのはそもそもJDK 5.0から新たに導入されたコレクションの構文ですが、それじゃあ、該当するクラスやインタフェースはどのパッケージに属しているかというと、「java.util」になります。

パッケージ java.util
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/package-summary.html

上記のサイト上で、クラスやインタフェースの末尾に型パラメータ<>があるものは全て、ジェネリックスです。

同様にして、J2MEの方は以下のサイトになります。

CLDC2.0(JSR 118)
http://java.sun.com/javame/reference/apis/jsr118/java/util/package-summary.html

上記のサイトを見れば分かる通り、型パラメータ<>のあるクラスやインタフェースは一つもありませんね。コレクションに関するものでも、Enumeration、Hashtable、Stack、Vectorの4つぐらいでしょうか。いずれも旧式のものばかりです。

>これは変更できないものなのでしょうか?
以下のサイトにもある通り、iアプリ開発ツールのJava実行環境は「Java2 SDK, Standard Edition Version 1.4.2」であり、それ以外のバージョンでの動作確認はしていないとのことです。もし何らかの変更が出来たとしても、該当するクラスなどが無いわけだからやっぱりコンパイルは通らないでしょう。

DoJa-5.0プロファイル向けiアプリ作成ツール
http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/tool_foma5.html

投稿日時 - 2007-07-03 23:02:08

お礼

ご回答ありがとうございます。
仰るとおりVector等にGenericsがなかたので、自分で<E>を用いたラッパクラスを作ろうとして今回のような質問をしました。
また、Genericsによる型チェックはコンパイル時に消えてしまうことから、無理やりコンパイルしても実機で動くかなと考えていました。

あきらめた方がよさそうですね。
ありがとうございます。

投稿日時 - 2007-07-04 00:51:12

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>現在のDoCoMo携帯の実機に載っているJVMのバージョンはどう調べればよいでしょうか?

DoCoMoの携帯には、JVMは載っていません。載っているのは「KVM」です。Java ME用に開発されたJVMの縮小版です。もともと仮想マシン自体からして、Java SEとはまったく異なるものが使われているわけですね。携帯Javaは、Java SEとはまったく異なるアーキテクチャーである、という点を忘れてはいけないと思います。ですので、「携帯Javaの仮想マシンはJava SEのどのバージョンなのか」と考えても意味はないのではないか、と。

とりあえずSunのサイトにあるKVM関連の情報をチェックしてみてはいかがでしょうか。

参考URL:http://sdc.sun.co.jp/java/j2me/index.html

投稿日時 - 2007-07-03 17:44:36

お礼

JVMでないというのは恥ずかしながら今知りました。
ご回答ありがとうございます。

投稿日時 - 2007-07-04 00:45:32

あなたにオススメの質問