• ベストアンサー

Doja 5.0 でGenericsは使えない?

Doja 5.0ツールで、Genericsを用いたコードを含むiアプリ用のプロジェクトをビルドすると (総称型を使用可能にするには、-source 5 以降を使用してください) というエラーが出ます。 javacのオプションは -source 3 となっているようです。 これは変更できないものなのでしょうか? また,現在のDoCoMo携帯の実機に載っているJVMのバージョンはどう調べればよいでしょうか? 初歩的な質問ですがよろしくお願いします。

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

  • ベストアンサー
回答No.2

>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

________j_
質問者

お礼

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

その他の回答 (1)

noname#49664
noname#49664
回答No.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
________j_
質問者

お礼

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

関連するQ&A