• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JDK1.1.7 と JDK1.3.1 の違い。。。)

JDK1.1.7とJDK1.3.1の違いとは?

このQ&Aのポイント
  • JDK1.1.7とJDK1.3.1の間には、java.awt.Choiceの実装において、select(-1)がエラーを引き起こすかどうかの違いがあります。
  • JDK1.1.7ではselect(-1)はエラーを引き起こしますが、JDK1.3.1ではselect(-1)を許容しています。
  • JDK1.3.1でのjava.awt.Choiceの実装では、select(-1)による未選択状態への設定が可能です。

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

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.1

バージョン1.1.xのAPI仕様を見ても、select(-1)で未選択状態に出来るとは書いてないんですよね…… だから1.1.7のselect(-1)で未選択状態に出来たのは、たまたまそうなっていたからとしか言いようがありませんね。 API仕様では、バージョン1.1でも1.3でも例外キャストの条件が「指定された位置が無効な場合」となっていて、具体的な数字が出てこないのでかなりあいまいな表現ですが、それでも引数に-1を渡したら普通は例外になると考えるのが自然です。 いずれにせよ、バージョン1.3のAPI仕様を見る限り、未選択状態に関することは載っていないので、あとから未選択状態になるように仕向けるのはあきらめたほうが良いと思われます。ほかに上のような裏技があったとしても、将来の実装が変更されないとは言い切れません。 提案: 未選択状態にする代わりに、空白の選択項目、あるいはウェブページに良くある「選択してください!」といったような“無効な項目”を作ってはどうでしょう。未選択状態にする目的がかかれてないので、なんともいえませんが。

mrt136
質問者

お礼

>だから1.1.7のselect(-1)で未選択状態に出来たのは、たまたまそうなっていたからとしか言いようがありませんね。 うっ、確かにおっしゃるとおりです。。。 たまたまうまく動いていたからそのままにしておいたと言った感じでしょうか。。。 >提案: 未選択状態にする代わりに、空白の選択項目、あるいはウェブページに良くある「選択してください!」といったような“無効な項目”を作ってはどうでしょう。 そうですね。やっぱりそれしか無いですよね。今後の事も考えると。。。 しかし、数が多いので手間が。。。 ご回答本当にありがとうございました。

関連するQ&A