ここから本文です

Javaのジェネリクスについての質問です。 型変数の宣言時、境界の制限に上限境...

fal********さん

2020/7/1408:24:40

Javaのジェネリクスについての質問です。

型変数の宣言時、境界の制限に上限境界のextendsのみ使用が許される理由についてですが、もしsuperの使用も許されるとObjectクラスも含むことになり

、結局ジェネリクスの意味がなくなるから、という認識で合っているでしょうか。

閲覧数:
21
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

bhx********さん

2020/7/1412:13:51

> 境界の制限に上限境界のextendsのみ使用が許される理由

どういう意味です?

<? extends Number> が上限境界で、
<? super Number> が下限境界です。

下限境界指定が**存在する**のですから「上限境界のextendsのみ使用が許される」の意味が通りません。

----

「ある特定の条件では」もしくは「ある特定の用途では」上限境界のextendsのみ使用が許されるという説明を読んで質問しているのだと思いますが、前提を省略されると質問になりません。

----

あるいは、わかっていないのは、その「ある特定の条件では」「ある特定の用途では」の部分の方なのでは? というのが回答になるでしょうか。

  • 質問者

    fal********さん

    2020/7/1506:44:25

    回答ありがとうございます。

    自分の指し示しているものが何か定まっていませんでした。すみません。
    実型ではなく仮型パラメータで定義する際、

    interface X{}
    class Foo<T super X>
    class Foo<T implements X>

    など型境界をextends意外で宣言するとNGとなるような理由です。

  • その他の返信(5件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2020/7/17 11:03:16

superに関しては追求したい部分もまだありますが、自分の理解の範疇も考慮して、一旦回答を頂いた内容で留めておきます。
ありがとうございましたm(_ _)m

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる