問題タブ [generic-method]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
534 参照

java - 抽象関数、パラメーター型はクラスを拡張します

Java でライブラリ管理アプリケーションを構築しています。

という抽象クラスがありMaterialます。という抽象メソッドがありequalsます。

と呼ばれるサブクラスがあり、もちろん内部にあるのとまったく同じシグネチャで をNewspaper実装します。equalsequalsMaterial

Java は のどのメソッドも解決できませんelementoAComparar。それらはすべて存在し、Newspaper拡張されMaterialます。

SOのこのスレッドで助けを得ましたが、実際に機能させることはできません。

私が実際に得ていないのは、ジェネリックパラメーターとして機能しているクラスのメソッドを使用する方法だと思います。

これはそれほど難しいことではないと確信していますが、Java の経験はほとんどありません。

ありがとう!

0 投票する
1 に答える
116 参照

java - 引数をクラスオブジェクトとして渡し、メソッドパラメーターをクラスとして定義する汎用Javaメソッドを実装したいまたはT型

メソッドパラメータにクラスオブジェクトを渡す必要がある汎用Javaメソッドを実現したい

例:

私のメソッド定義ここで別のプロジェクトクラス

ここでは、実際には別のプロジェクト クラスからメソッドを呼び出しています。

0 投票する
1 に答える
71 参照

java - ジェネリック コンテナと組み合わせたジェネリック メソッド

現在、次の例のように、特定の Collection 実装を含むクラスがあります。

コンテナーを一般化する必要がありますが、同様の getItems() メソッドを取得する方法を理解するのに苦労しています。

最終的な目的は、次のように、同じオリジナル バッグ、または他のコンテナーを含むバッグを取得することです。

出来ますか?ありがとう。

編集: このコードが必要な理由 (と思う) について詳しく説明します。あらゆるタイプの属性をサポートする必要があるクラスがあります。これらの属性は、その特定のタイプの値のコレクションです (たとえば、文字列のセット、整数のセット、WhateverClass のセット)。特定のキーに関連付けられたこのデータを格納するマップがあります。その後、キーを呼び出して戻りオブジェクトを正しくキャストすることで、データを取得できます。便宜上、これは上記の一般的な方法で行われます。

ここで、コレクション タイプが異なる 2 番目のクラスが必要です。コードの繰り返し (ここにあるコードよりもはるかに多くのコード) を避けるために、コレクションをジェネリック型 (AbstractBag など) として持つ抽象クラスを作成し、異なるコンテナーを持つ 2 つのクラス (たとえば、リストとSetBag と ListBag の場合と同じように)。

0 投票する
0 に答える
140 参照

java - Number を拡張するジェネリック クラスを定義する方法

メソッドで演算子 += が定義されていないのですが、どうすれば解決できますか?

このクラスには、最小合計、最小正合計、および最大積を見つけるためのメソッドが含まれています。

0 投票する
2 に答える
401 参照

java - javaのインターフェースからジェネリックメソッドを実装する

2 つのインターフェイスと、それらを実装する 1 つのクラスがあります。インターフェイスでは、1 つの通常のメソッドと 1 つのジェネリック メソッドを示しました。それらをメインメソッドに実装すると、通常のメソッドは正しい結果を示しますが、一般的なメソッドはそうではありません。可能であれば、recrease_twice() メソッドが正しい結果を返さない理由を教えてください。ここに私のコードがあります:

Rectangle.java:

TwoDShape.java:

幾何学的形状.java:

最後にクラス ArrayListExample.java をテストします

私は increase_twice が Rectangle[width=4.0, height=6.0] Rectangle[width=10.0, height=10.0] で長方形を返すことを期待していますが、代わりに describe メソッドと同じものを返します: Rectangle[width=2.0, height=3.0 ] Rectangle[幅=5.0, 高さ=5.0] できればどこが間違っているのか教えていただけないでしょうか?

0 投票する
2 に答える
941 参照

java - Javaで2つのクラスに1つのジェネリックメソッドを実装する方法

1 つの通常のメソッドと 1 つのジェネリック メソッドを持つインターフェイスがあります。2 つの異なるクラスに通常のメソッドを実装しましたが、ジェネリック メソッドでそれを行う方法はまだわかりません。これが私のコードです:

スフィア.java:

Rectangle.java

TwoDShape.java:

ThreeDShape.java:

幾何学的形状.java:

そして最後にメインクラス ArrayListExample.java:

長方形と球の両方からスーパーサイズメソッドを取得し、次のような出力を行うスーパーサイズリストメソッドを実装するにはどうすればよいですか

これで私を助けてくれませんか?あなたの助けに感謝します!