@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

Enumerationクラスとジェネリクスについて

投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2008/02/07
投稿数: 115
投稿日時: 2009-03-27 20:18
くだらない非難ごっこに付き合うつもりはありません。

引用:

使用しているライブラリがJDK1.5以上でなければ Enumeration<String>って書いた時点でコンパイルエラー出ると思いますけど…。


意味が分かりません。どういうことです?

最後に、あしゅさんの書かれた SuppressWarnings アノテーションのちょっとした使い方を提案して終わりにしたいと思います。

@SuppressWarnings はメソッド全体に影響するので、他の警告に気付かなくなってしまう原因にもなります。そのため、@SuppressWarnings を使うときは、止むを得ず警告が出てしまうコードだけを別のメソッドに分離するのが良いと思います。以下のような未検査キャスト専用のメソッドを用意しておくと便利かもしれません。

コード:
        ...
        Enumeration<String> e = castUnchecked(request.getParameterNames());
        ...
    
    @SuppressWarnings("unchecked")
    private static <T> T castUnchecked(Object object) {
        return (T)object;
    }




あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2009-03-28 10:33
引用:

未記入さんの書き込み (2009-03-27 20:18) より:
@SuppressWarnings はメソッド全体に影響するので、他の警告に気付かなくなってしまう原因にもなります。そのため、@SuppressWarnings を使うときは、止むを得ず警告が出てしまうコードだけを別のメソッドに分離するのが良いと思います。以下のような未検査キャスト専用のメソッドを用意しておくと便利かもしれません。


一部のステートメントになら直接@SuppressWarningsを書けますよ。

コード:
@SuppressWarnings("unchecked")
Enumeration<String> e = request.getParameterNames();

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2009-03-28 12:48
引用:

一部のステートメントになら直接@SuppressWarningsを書けますよ。


一部のステートメントというか、ローカル変数の宣言部および仮引数の宣言部です。
未記入
大ベテラン
会議室デビュー日: 2008/02/07
投稿数: 115
投稿日時: 2009-03-28 15:11
引用:

一部のステートメントというか、ローカル変数の宣言部および仮引数の宣言部です。


これは知りませんでした。Eclipse の Quick Fix を使うと、いつもメソッドに対して @SuppressWarnings が付加されていたので。勉強になりました。ありがとうございます。
dejavu
ベテラン
会議室デビュー日: 2009/03/13
投稿数: 71
投稿日時: 2009-03-29 08:05
やはり、冬寂さんは私をバカにしたいだけなのですね。
謝って損しました。
引用:

> どこに<String>を挿入してもダメです。
ここから「訳分からず」やってると解釈したんだけど
正直な話、「なんで、ジェネリクスなんて必要なの?」と思ったのでは?

もし、当たっているとしたら、まずは「型の重要性」から学びなおす必要があるのでは?と思った訳です。


ここはまぁ、悔しいですが当たっています。
おっしゃるように「型の重要性」について学びなおす必要があるのでしょうね。
でも、「何でジェネリクスが必要なの?」と思ったことは1度としてありません。
勝手な妄想です。

引用:

っつかね、「フラストレーションを爆発させてしまいますが」という事からしても、
初めの状態は「どして?どして?」という状態だったと想像していましたが。
そんな状態で、WEBで質問しても意味ないでしょ?

# あの状態の吾郎ちゃんに何を説明しても意味無いかと。


冬寂さんは勝手な妄想がお好きなようですが、はっきり言って間違っています。
私をバカにして楽しんでいるのは分かりました。
まぁ、以前に『どなたか人を救うと思って、助けて頂けないでしょうか。』という羞恥心を省みない質問をしたので、こういう妄想が浮かんでも仕方がないのかもしれませんが。
でも、私を何も知らないはずの冬寂さんの誤解を招く言葉に関しては訂正文を要求したいですね。

スキルアップ/キャリアアップ(JOB@IT)