- - PR -
Enumerationクラスとジェネリクスについて
投稿者 | 投稿内容 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-03-26 17:59
dejavu氏の年齢はわかんないけど少なくとも高校生以上の年齢だよね? 小学校中学校はどうやって勉強したの?同じ要領で覚えるだけだと思うんだけどなあ。 算数の公式なんかも記憶と理屈の世界だし。コーディングもいっしょ。
パスワードもわからないのにどうやって編集するの?普通に考えてみようぜ。 それと「感じたんですけど」ってえろおかしくないかね。 ふつうに「思ったんですけど」が正しいと思うんだけど。 | ||||||||||||||||||||
|
投稿日時: 2009-03-26 18:39
ジェネリクスの基礎から説明するのはこの@ITの会議室の手に余るところです。ジェネリクスについて解説しているページを探して基礎からはじめるほうが手っ取り早いでしょう。
EnumerationはJavaの初期からあるインターフェースですが現在ではあまり使われていません。
とあるとおり、Iteratorを使用しましょう。 JavaSE5.0のリリースも2004年のことではありますが、まだまだ1.4での開発も多くされているようですね。5.0ではいろいろと機能が追加されましたが、その差分を学びたいのでしたらJava 2 Standard Edition 5.0 Tiger―拡張された言語仕様についてがお勧めですが、入手が難しければプログラミング言語Java 第4版を読むことになるでしょうか。 | ||||||||||||||||||||
|
投稿日時: 2009-03-26 21:08
http://www.javainthebox.net/laboratory/J2SE1.5/LangSpec/Generics/Generics.html
ここがお勧めかな。(勝手にリンク張っていいのかわからんが) http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Enumeration.html ここに インタフェース Enumeration<E> こう書いてあるんだから、EnumerationはGenerics使っているって分かるでしょ?。 | ||||||||||||||||||||
|
投稿日時: 2009-03-26 23:00
できれば、Kazukiさんとnagiseさんとぶさいくろうさんへ別々にスレ書きたかったんですけど、無理みたいですね。
私は超ど素人プログラマで、どれだけJava言語の知識を増やしても今の年齢ではプログラマの職にはつけない年齢です。 なので、主に大規模プロジェクトなどで使用されるJava言語を学んだからと言って、単なる私自身のJava言語のプログラム知識が増すだけで、それ以上の何ものでもありません。 その上で Kazukiさんへ、 いつもいつもお世話になっています。 URLの本見ました。欲しくなりました。 以前、私がプログラマを目指していた頃には『モア・サーブレット&JSP』または『コア・サーブレット&JSP』なる本がありまして。 Java言語の知識を得るために重要な内容が書かれていました。 大事なところには赤線など引いていましたね。 残念ながら、途中でプログラマという職種を諦めざるを得ず、それと同時に読まなくなってしまいましたが、現レベルの段階を突破した暁にはもう1度目を通したい、と思っています。 それと、これは私の悪い癖なのですが、欲しいと思った本を入手するとそれだけで満足してしまい、後は本棚へ、という事が多々あり、今現在Javaをやり始めてみて、もう既に古くなってしまってただのいらない本になってしまったという本が4、5冊あります。 本当に勿体無い事をしました。 あの頃は人生をプログラマに賭けていましたので。 Kazukiさんのアドバイスを聞くたびに私自身も近づきたい、と思って私なりに努力しつつ頑張っています。 今回も大変参考になりました。 nagiseさん、アドバイスありがとうございます。
私が今勉強している本が私自身がプログラマを目指していた頃の年代のものなので、こういった違いのようなものが出てきてしまうのでしょうね。 ITは常に進化している、という事ですかね。 『Java 2 Standard Edition 5.0 Tiger』物凄く欲しいですね。 今幾つかの書店で検索してみましたが、残念ながらどこも品切れでした。 新品はどうしても入手は困難でしょうね。 中古本はあまり好きではないんですよね。 今、品切れの本がPDF版で売っていたりするんですよね。 1つ気付いたのは、自分が購入する本とKazukiさんやnagiseさんが選ぶ本に大きな違いがある事ですね。 こういうのは参考になりますし、勉強になりました。 ぶさいくろうさんへ、手厳しいお言葉頂戴しました。
全く本当におっしゃるとおりです。 大変失礼しました。 [ メッセージ編集済み 編集者: dejavu 編集日時 2009-03-26 23:29 ] | ||||||||||||||||||||
|
投稿日時: 2009-03-26 23:07
hekigyokuさん、アドバイスありがとうございます。
最初の方に書いたのですが、ジェネリクス自体昨日知ったものでして、許して下さい。 もし知らなかったら、今頃どうしていたでしょう。 全然対応できずに淡くってましたね、多分。 これからは細部までよく目を通すようにします。 | ||||||||||||||||||||
|
投稿日時: 2009-03-27 00:34
これってジェネリクスなんですかねえ。少なくとも「基本」と言い切れるような単純な話ではないと思います。
それは、あなたの見ている javadoc が新しいから、そう書いてあるんでしょう? 古い javadoc にはなんて書いてあるのかな? そして、今問題になっている ServletRequest インタフェースはいつ定義されたものなのかな? ServletRequest はジェネリクスを使っているのかな? 実際のところ、ServletRequest はジェネリクスを使っていないんですよね。だから、後方互換性と現在書いているコードを Java 5.0 以上に準拠させるため、型安全性のない Enumeration<?> を使わないといけないという状態になっています。 これはジェネリクスの目指すものや本質ではなくて、Java のジェネリクス実装の都合による制限事項なんじゃないかな。スレ主があちこちに String を書いて試してみたことは評価すべきことだと思います。ジェネリクスを学んで「型安全性が提供される」という意識があったから、String にこだわったのでしょう。これはとても良いこと。 それに対して、? を使うことを基本だとか当たり前のことのように言うのはいかがなものかと思います。そういっている人たちは、? を使うべき状況、使わなければいけない理由をちゃんと説明できるんですかね。 | ||||||||||||||||||||
|
投稿日時: 2009-03-27 04:59
やはりジェネリクスについてもっと勉強し、理解を深めないといけないですね。 私としては新しい技術だけを教えてもらっただけの知ったかジェネリクスなので、この文章には大変興味を引かれます。
一理ある意見ですね。
非常に奥深い話ですね。というよりもはや次元の違う話になるかもしれませんね。 私はまだEunmeration<?>の?の意味をまだ理解していないのですが、自分の足り無い知識だけで書くとまた恥をさらす可能性があるのですが、ワイルドカードではないか、と思うのですが、どうなんでしょうか。 また非難轟々にならない事を祈ります。
非常に考え深いものがありますね。 | ||||||||||||||||||||
|
投稿日時: 2009-03-27 09:42
[ メッセージ編集済み 編集者: わたなべ 編集日時 2009-04-07 12:37 ] |