アプリ版:「スタンプのみでお礼する」機能のリリースについて

JAVAでC/C++の条件コンパイルのようなことはできないでしょうか?


実行時に判断するのじゃなくて、
コンパイル時に判断するやり方ないですか?
開発ツール等の環境設定でやるとかじゃなくて・・。
C/C++の条件コンパイルのように、
ソースコーディングすることで、行うやり方。


(たとえば)

もし、JDK1.4よりもバージョンがひくければ、


JDK1.3以前でも、存在するクラスを使って
メイクする。
その代わりすごいおそーいけどね・・・。


もし、JDK1.4以上であれば

とても、パフォーマンスのよいクラスを使った
コードをメイクする。
その代わりこれは1.4以上でないと
コンパイルできないけどね。





みたいな感じで、
実行時じゃなくて、
コンパイル時にソースコード
で条件分岐させてしまうやりかたないですかぁ。
(ないだろうなぁ。)


args[0]で起動時の引数で
実行時判断させようとしても、
そもそも、1.4からでてきたクラスとかだと
1.3ではコンパイルすらできない


あと、
できれば、したい実現したい機能だけど、
それをするには1.4から登場した
クラスを使わなければできないので、
1.3ではあきらめてもらい(そういう仕様にしてもらって)
しないようにしようと思ったとする。
そして、
その処理が入ってない1.3版と、
その処理が入ってると1.4版とで、
その差分のせいで、
ソースのバージョンを2種類設ける
ということを絶対にやりたくない時とか。

どうするんだろう・・。

A 回答 (1件)

できないようですが...


こちらの「-理由08- #if」のところに書かれているのが間違いなければ。
http://www.atmarkit.co.jp/fdotnet/special/java2c …

参考URL:http://www.atmarkit.co.jp/fdotnet/special/java2c …
    • good
    • 0
この回答へのお礼

どうも、ありがと。
悲しいが、現実だ。
プリプロセッサのような概念を導入するを
なぜ、しないのだろうか?
それをすることで、JAVAの質が落ちるような
負の理由があるのだろうか。
せめて、javaのバージョンやOSの種類を示すような
予約後のマクロ入りのプリプロセッサぐらい
用意しといて欲しい。
ちなみに、バージョン関係は実数で、
大小比較ができるようにしていて・・・
なんか、納得いかないなぁ

お礼日時:2003/11/24 10:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!