タグ付けされた質問 「generics」

ジェネリックスは、.NET言語、Java、Swift、Rustなどのさまざまな言語に見られるパラメトリックポリモーフィズムの形式です。

11
ジェネリッククラスの型パラメーターから新しいオブジェクトを作成する
ジェネリッククラスに型パラメーターの新しいオブジェクトを作成しようとしています。私のクラスViewでは、型パラメーターとして渡されるジェネリック型のオブジェクトの2つのリストがありますが、作成しようとするとnew TGridView()、TypeScriptは次のように言います。 シンボル 'TGridViewが見つかりませんでした これはコードです: module AppFW { // Represents a view export class View<TFormView extends FormView, TGridView extends GridView> { // The list of forms public Forms: { [idForm: string]: TFormView; } = {}; // The list of grids public Grids: { [idForm: string]: TGridView; } = {}; public …




11
Objective-Cには強く型付けされたコレクションはありますか?
Mac / iPhoneプログラミングとObjective-Cは初めてです。C#とJavaには、「ジェネリックス」と呼ばれるコレクションクラスがあり、そのメンバーは宣言された型のみにすることができます。たとえば、C#では Dictionary<int, MyCustomObject> MyCustomObjectタイプの整数と値のキーのみを含めることができます。Objective-Cにも同様のメカニズムはありますか?

6
Javaで<T>(山かっこ)はどういう意味ですか?
私は現在Javaを勉強しており、最近山括弧(&lt;&gt;)に悩まされています。正確にはどういう意味ですか? public class Pool&lt;T&gt;{ public interface PoolFactory&lt;T&gt;{ public T createObject(); } this.freeObjects = new ArrayList&lt;T&gt;(maxsize) } どういう&lt;T&gt;意味ですか?タイプのオブジェクトを作成できるということTですか?
139 java  generics 

15
一般的なリストをCSV文字列に変換する
整数値のリスト(リスト)があり、コンマ区切り値の文字列を生成したいと思います。これは、リスト内のすべての項目が1つのコンマ区切りリストに出力されたものです。 私の考え... 1.リストをメソッドに渡します。2. stringbuilderを使用してリストを反復し、カンマを追加します。3.最後の文字をテストし、カンマの場合は削除します。 あなたの考えは何ですか?これは最善の方法ですか? 整数(現在の計画)だけでなく、文字列、long、double、boolなどを将来処理したい場合、コードはどのように変更されますか?私はそれがどんなタイプのリストも受け入れるようにするでしょう。
139 c#  generics  .net-3.5 

16
文字列をnull許容型(int、doubleなど)に変換します
一部のデータ変換を実行しようとしています。残念ながら、データの多くは文字列であり、intやdoubleなどでなければなりません。 だから私が持っているものは次のようなものです: double? amount = Convert.ToDouble(strAmount); このアプローチの問題は、strAmountが空の場合、空の場合はnullにしたいので、データベースに追加すると、列がnullになります。だから私はこれを書いてしまいました: double? amount = null; if(strAmount.Trim().Length&gt;0) { amount = Convert.ToDouble(strAmount); } これで問題なく動作しますが、コードが1行ではなく5行になりました。これにより、特に変換する列が大量にある場合は、読み取りが少し難しくなります。 文字列クラスとジェネリックの拡張を使用して型を渡すと思いましたが、これはdouble、int、またはlongの可能性があるためです。だから私はこれを試しました: public static class GenericExtension { public static Nullable&lt;T&gt; ConvertToNullable&lt;T&gt;(this string s, T type) where T: struct { if (s.Trim().Length &gt; 0) { return (Nullable&lt;T&gt;)s; } return null; } } しかし、エラーが発生します:タイプ「string」を「T」に変換できませんか? これを回避する方法はありますか?ジェネリックスを使用してメソッドを作成することにはあまり慣れていません。

6
違いは何ですか ?とJavaジェネリックのオブジェクト?
私はEclipseを使用して、Javaジェネリックを適切に使用するためにいくつかのコードをクリーンアップしています。ほとんどの場合、それは型を推論する優れた仕事をしていますが、推論された型が可能な限り一般的でなければならない場合があります:オブジェクト。しかし、Eclipseは、オブジェクトのタイプと「?」のタイプの間で選択するオプションを私に与えているようです。 だから違いは何ですか: HashMap&lt;String, ?&gt; hash1; そして HashMap&lt;String, Object&gt; hash2;
137 java  generics 

12
OrderedDictionaryの一般的な実装はありませんか?
の一般的な実装はないようですOrderedDictionary(これはSystem.Collections.Specialized.NET 3.5に名前空間にある)のです。行方不明のものはありますか? 機能を提供するための実装を見つけましたが、すぐに使用できる汎用の実装がないのか、なぜ.NET 4.0の何かであるかを誰かが知っているのか、なぜでしょうか。

7
配列型および関数パラメーターとしてのプロトコルの迅速な使用
特定のプロトコルに準拠したオブジェクトを格納できるクラスを作成したい。オブジェクトは型付き配列に格納する必要があります。Swiftのドキュメントによると、プロトコルはタイプとして使用できます。 タイプであるため、次のような他のタイプが許可されている多くの場所でプロトコルを使用できます。 関数、メソッド、または初期化子のパラメーター型または戻り型として 定数、変数、またはプロパティのタイプとして 配列、辞書、またはその他のコンテナー内のアイテムのタイプとして ただし、次の場合はコンパイラエラーが発生します。 プロトコル 'SomeProtocol'は、Selfまたは関連する型の要件があるため、一般的な制約としてのみ使用できます これをどのように解決しますか? protocol SomeProtocol: Equatable { func bla() } class SomeClass { var protocols = [SomeProtocol]() func addElement(element: SomeProtocol) { self.protocols.append(element) } func removeElement(element: SomeProtocol) { if let index = find(self.protocols, element) { self.protocols.removeAtIndex(index) } } }

8
Java:InstanceofおよびGenerics
値のインデックスのジェネリックデータ構造を調べる前に、それがthisパラメーター化されている型のインスタンスでさえあるかどうかを確認したいと思います。 しかし、これを行うとEclipseは不平を言います。 @Override public int indexOf(Object arg0) { if (!(arg0 instanceof E)) { return -1; } これはエラーメッセージです。 型パラメーターEに対してinstanceofチェックを実行できません。ジェネリック型情報は実行時に消去されるため、代わりにその消去オブジェクトを使用してください それを行うためのより良い方法は何ですか?

5
Mockito:バインドされたワイルドカードで型を返すスタブメソッド
このコードを考えてみましょう: public class DummyClass { public List&lt;? extends Number&gt; dummyMethod() { return new ArrayList&lt;Integer&gt;(); } } public class DummyClassTest { public void testMockitoWithGenerics() { DummyClass dummyClass = Mockito.mock(DummyClass.class); List&lt;? extends Number&gt; someList = new ArrayList&lt;Integer&gt;(); Mockito.when(dummyClass.dummyMethod()).thenReturn(someList); //Compiler complains about this } } コンパイラは、の動作をスタブ化しようとしている行について文句を言いdummyMethod()ます。ワイルドカードがバインドされた型を返すメソッドをスタブする方法についてのポインタはありますか?

5
オブジェクトがC#でジェネリック型かどうかのテスト
オブジェクトがジェネリック型であるかどうかテストを実行したいと思います。私は成功せずに以下を試しました: public bool Test() { List&lt;int&gt; list = new List&lt;int&gt;(); return list.GetType() == typeof(List&lt;&gt;); } 私は何が間違っているのですか、またこのテストをどのように実行しますか?
134 c#  .net  generics  reflection  types 

3
オブジェクトをジェネリック型にキャストして返す
オブジェクトをメソッドの戻り値にキャストする方法はありますか?私はこの方法を試しましたが、「instanceof」の部分にコンパイル時の例外が発生しました: public static &lt;T&gt; T convertInstanceOfObject(Object o) { if (o instanceof T) { return (T) o; } else { return null; } } 私もこれを試しましたが、ランタイム例外ClassCastExceptionが発生しました: public static &lt;T&gt; T convertInstanceOfObject(Object o) { try { T rv = (T)o; return rv; } catch(java.lang.ClassCastException e) { return null; } } これを簡単に行う方法はありますか? String s …
134 java  generics  casting 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.