• ベストアンサー

Doja 5.0 でGenericsは使えない?

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

  • Java
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
回答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

  • eclipseでantを実行すると

    build.xml: <?xml version="1.0" encoding="UTF-8"?> <project name="example" default="compile" basedir="./"> <property name="compile" value="Classes"/> <target name="directory"> <mkdir dir="${compile}"/> </target> <target name="compile" depends="directory"> <javac srcdir="src" destdir="${compile}" excludes="build.xml"/> </target> </project> に対して Buildfile: /root/workspace/javatest/build.xml directory: compile: [javac] Compiling 2 source files to /root/workspace/javatest/Classes BUILD FAILED /root/workspace/javatest/build.xml:8: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre" Total time: 795 milliseconds というエラーがでました。 ちなみに /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/javac がなかったので /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/javac を配置しましたがエラーメッセージは同じです。 (実際にはjavacのシンボリックリンクを配置) どうすれば解決出きるでしょうか?

    • ベストアンサー
    • Java
  • アプリケーションマニフェストって?

    VC++ 2005で アプリケーションマニフェストを使ったソースがあるのですが、(ツールでプロジェクトを変換して) VC++6.0で ビルドすることはできますか?

  • javacコマンドの<-d>オプションについて

    現在ojc-p(旧sjc-p)の資格取得に向けて勉強をしています。 javacコマンドの<-d>オプションに関して、以下のような問題があり、回答に納得がいかないため、ご教授頂きたいと思います。 -----------以下、問題----------- カレントディレクトリをprojectとしたときに、Fooクラスを以下のコマンドでコンパイルした。この時の説明として正しいものを選びなさい。 【ディレクトリ階層】 project  └src    └Foo.java 【実行コマンド】 javac -d build src/Foo.java 【ソースコード】 1. package x.y.z; 2. 3. public class Foo{ 4.   // more code here 5. } 【選択肢】 A) buildディレクトリが存在していないため、コンパイルエラーになる B) projectディレクトリいかにbuild/Foo.classファイルが作成される C) projectディレクトリ以下にbuild/x/y/zFoo.classファイルが作成される D) srcディレクトリいかにbuild/Foo.classファイルが作成される E) srcディレクトリ以下にbuild/x/y/z/Foo.classファイルが作成される -----------ここまで----------- 自分の考えでは、-dに指定されたbuildディレクトリが存在していないためコンパイルが通らない、つまり、回答はAであると考えていたのですが、実際の回答は「C」でした。 同問題の解説を見ると、「-dオプションで引数に指定したディレクトリが存在しない場合には、自動的にそのディレクトリを作成します」とあります。 自分の環境では、-dオプションの引数に存在しないディレクトリ名を指定すると、いくらやっても「ディレクトリがありません」と表示されてしまいます。 -dオプションで存在しないディレクトリが作成されるには、何かしらの条件が必要なのでしょうか。

    • ベストアンサー
    • Java
  • 一つのソースコードから複数のOSへ書き出しは可能?

    仮にWindowsでC/C++のソースコードを書いたとして それをMacやLinux用にWindwos内でビルドすることは可能なのでしょうか? JavaだったらJVMがよろしくやってくれて OSの違いを吸収してくれているのはわかります Qtも一つコードを書けば複数のOS用に書き出すことができますが それはどういった仕組みなっているのでしょうか? いろいろ調べたのですが、そういった記事などが見つからなかったので 今回質問させていただきました、よろしくお願いします。

  • javacコマンドのコンパイルができません!初心者です!

    java初心者なのですが、コンパイルする際に、コマンドで javac Hello.java と入力すると、 javac: ファイルが見つかりません: Hello.java 使い方: javac <options> <source files> 使用可能なオプションのリストについては、-help を使用します と出てきてできません!javaに詳しい方、是非返答お願いします!!

  • Xcode3.2でC言語を書く方法

    プログラミング初心者です。 Xcode3.2でC言語の練習をしようと思い、新規プロジェクトから空のプロジェクトを選び、C言語の新規ファイルを作ってそこにコードを書いてみたのですが、「ビルドと実行」アイコンがアクティブにならず押せません。 どうすればコードを実行できるのでしょうか。 非常に初歩的な質問だと思いますがよろしくお願いします。

    • ベストアンサー
    • Mac
  • Mac&Eclipseで、エラーが出て動きません。

    使用環境 MacOSX 10.6.8 Eclipse 3.5 エラーメッセージは以下の通りです。 Unable to locate the JVM for project <プロジェクト名> Please verify that you have a project-level JVM installed by inspecting your project's build path. エラーメッセージで検索をかけてみましたが、原因がよく分からないままです。 試しにEclipseを一度、再インストールしてみましたが、同じようにエラーが出ます。 誰か、原因及び解決法が分かる人がいましたら、回答よろしくお願いします。

    • ベストアンサー
    • Java
  • Antでのビルドにエラー

    いつも参考にさせて頂いています。 表題の件ですが、現在Eclipse3.1・struts1.2.9を使用しています。 Antでのコンパイルをしてみたのですが、コンパイルエラーになります。 ■エラー内容 シンボルを解決できません。 [javac] シンボル: クラス LookupDispatchAction LookupDispatchActionを継承しているクラスでは確かにインポートしています。(インポートしていないとエラーになると思うのですが、ソース上でエラーは出ていません) ■build.xmlの中身 <?xml version="1.0" encoding="UTF-8" ?> <project name="aaa" default="compile" basedir="."> <property name="srcdir" value="JAR" /> <!-- JARディレクトリの作成--> <target name="mkdir"> <mkdir dir="${srcdir}" /> </target> <!-- コンパイル --> <target name="compile" depends="mkdir"> <javac srcdir="javaSource" destdir="${srcdir}" excludes="build.xml" /> </target> </project> 何かbuild.xml上でstrutsライブラリのパスとかを指定しないと認識してくれないのでしょうか? どうかご教授宜しくお願いします。

    • ベストアンサー
    • Java
  • 外部ソースへのリンクを含むソースのbuild.xmlの書き方は?

    現在、Eclipseで2つのプロジェクト(Lib、Toolとします)を作成しており、ToolはLibに定義された内容を用いています。 Toolは私の担当ですがLibは別の人が担当しており、まだ内容変更の可能性があるため、ソースのコピーはせず、Toolのプロジェクトの設定にて、Libのソースへのリンクを設定しました。 これでToolの(Eclipseのメニューによる)ビルドはできるようになったのですが、これをantでビルドしたいとき、build.xmlをどのように書けばよいのかわからず困っています。 Toolのビルドに先立ってLibをビルドしたいですが、Tool側にソースがないのでbuild.xmlにどう書けばよいのやら・・・という状態です。 (できるだけ「自分の環境でしか動かない」という書き方はしたくないですし。) どなたか、何かご存知ないでしょうか? 皆様の知識やお知恵を貸していただければと思います。 以下にbuild.xmlの一部を抜粋します。 ----------------------------------- <?xml version="1.0" encoding="utf-8"?> <project name="tool" basedir="."> <!-- ====================================================== --> <!-- set properties for this build --> <!-- ====================================================== --> <property name="bin" value="bin"/> <property name="dist" value="dist"/> <property name="src" value="WEB-INF/src" /> <property name="lib" value="WEB-INF/lib" /> <!-- ====================================================== --> <!-- make WAR --> <!-- ====================================================== --> <target name="compile" depends="init"> <!-- compile --> <javac srcdir="${src}" destdir="${bin}" includes="hoge/tool/*.java, hoge/util/*.java"> <classpath> <fileset dir="${lib}"> <include name="*.jar"/> </fileset> </classpath> </javac> <!-- make jar --> <jar destfile="${dist}/tool.jar" basedir="${bin}" update="true"> </jar> <!-- make war --> <war destfile="${dist}/tool.war" webxml="WEB-INF/web.xml"> <fileset dir="." includes="index.jsp, error.jsp"/> <lib dir="${lib}" includes="*.jar"/> <lib dir="${dist}" includes="tool.jar"/> <classes dir="${src}" includes="log4j.xml"/> </war> </target> ----------------------------------- このままantを実行すると、Libの内容を参照している箇所でパッケージが見つからないとかシンボルが解決できないといったエラーが出ます。 以下にエラーを抜粋します。 ----------------------------------- Buildfile: C:\eclipse_workspace\Tool\build.xml init: compile: [javac] Compiling 9 source files to C:\eclipse_workspace\Tool\bin [javac] C:\eclipse_workspace\Tool\WEB-INF\src\hoge\tool\Decoder.java:3: パッケージ hoge.lib は存在しません。 [javac] import hoge.lib.HogeException; [javac] ^ (以下省略) -----------------------------------

    • ベストアンサー
    • Java
  • JAVAのディレクトリー、全部ダメでした。

    C:\Windows\system32>cd\ProgramData\Oracle C:\ProgramData\Oracle>javac Main.java エラー: ファイルが見つかりません: Main.java 使用方法: javac <options> <source files> 使用可能なオプションのリストについては、--helpを使用します C:\ProgramData\Oracle>cd\User\hop77\AppData\LocalLow\Oracle 指定されたパスが見つかりません。 C:\ProgramData\Oracle>cd\Users\hop77\AppData\LocalLow\Oracle C:\Users\hop77\AppData\LocalLow\Oracle>javac Main.java エラー: ファイルが見つかりません: Main.java 使用方法: javac <options> <source files> 使用可能なオプションのリストについては、--helpを使用します C:\Users\hop77\AppData\LocalLow\Oracle>\Program Files(x86) '\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:\Users\hop77\AppData\LocalLow\Oracle>cd\Program Files(x86) 指定されたパスが見つかりません。 C:\Users\hop77\AppData\LocalLow\Oracle>cd\Program Files (x86) C:\Program Files (x86)>javac Main.java エラー: ファイルが見つかりません: Main.java 使用方法: javac <options> <source files> 使用可能なオプションのリストについては、--helpを使用します C:\Program Files (x86)>cd\Users\hop77\AppData\LocalLow\Sun C:\Users\hop77\AppData\LocalLow\Sun>javac Main.java エラー: ファイルが見つかりません: Main.java 使用方法: javac <options> <source files> 使用可能なオプションのリストについては、--helpを使用します C:\Users\hop77\AppData\LocalLow\Sun>\Program Files '\Program' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:\Users\hop77\AppData\LocalLow\Sun>cd\Program Files C:\Program Files>javac Main.java エラー: ファイルが見つかりません: Main.java 使用方法: javac <options> <source files> Javaのあるディレクトリーの全部を試してみましたが、 javac Main.javaが通りません。 どうしたら通るでしょうか? ご多忙中恐れ入ります。 ご回答のほど、宜しくお願い申し上げます。

    • ベストアンサー
    • Java

専門家に質問してみよう