クラスを持つことは可能ですかMyClass<T>
ここで、T
は1次元または多次元の整数配列ですか?もしそうなら、タイプがT
のクラスにフィールドがあるとすれば、equals
メソッドを書くにはどうすればいいですか?型が未知の次元の配列である汎用クラスを持つことは可能ですか?
答えて
あなたが実際のクラスに切り替え、個別のアレイ・オブ・プリミティブを処理したくない場合は、あなただけの配列の1つの以上の層にそれをラップし、Arrays.deepEquals()
を使用することができます。
Arrays.deepEquals(new Object[]{t}, new Object[]{other.t})
import java.util.*;
public class A<T>
{
private final T _t;
public A(T t) { _t = t; }
public void doSmth() { System.out.println(_t); }
public static void main(String[] args)
{
{
A<Integer> x = new A<>(10);
x.doSmth();
}
{
Integer[] a = new Integer[5];
A<Integer[]> x = new A<>(a);
x.doSmth();
}
{
List<Integer> a = new ArrayList<Integer>();
A<List<Integer>> x = new A<>(a);
x.doSmth();
}
}
}
'equals'を実装しようとすると動作しません。 'Arrays.deepEquals(this._t、other._t)'を試すと、コンパイラは '_t'が配列であることを知ることができません。また、'(Object [])_t'でキャストできませんプリミティブの配列 – Johnny
http://stackoverflow.com/questions/1449001/is-there-a-java-reflection-utility-to-do-a-deep-comparison-of-two-objects – rezdm
私はどちらでも動作しませんすべてのフィールドで単に 'equals'を呼び出します。 – Johnny
- 1. データオブジェクトを持つ多次元配列のシグニチャの可能性は何ですか?
- 2. 次のクラスを1つの汎用クラスに結合することは可能ですか?
- 3. 複数の多次元配列を1つの配列に格納することは可能ですか?
- 4. は私の作品次のクラス定義を持つ汎用型
- 5. クラスに「スーパークラス」オブジェクトの配列を持つことは可能ですか?
- 6. Funcの配列を持つことは可能ですか
- 7. PHPは、私がこの配列持つ多次元配列
- 8. 2つ以上の単語の列挙型を持つenumクラスを持つことは可能ですか?
- 9. 配列を持つ汎用クラス
- 10. 動的多次元配列を作ることは可能ですか?
- 11. PHP:私はこの配列を持つ多次元配列
- 12. C#で未知/汎用型のリストを作成するには?
- 13. Gsonで未知次元の配列を逆直列化するには?
- 14. 未知のサイズの2次元配列を初期化する
- 15. PHPで未知のサイズの多次元配列を初期化するには?
- 16. クラスのグローバルインスタンスを持つことは可能ですか?
- 17. 汎用型制約と継承型の両方を持つ汎用クラス定義ですか?
- 18. は、私は、この多次元配列を持つ多次元配列名とポインタ演算
- 19. PostgreSQLでhstoreの配列を持つことは可能ですか?
- 20. 2次元配列の派生型を持つFortran MPI allgatherv
- 21. 私は二つの配列を持つ2次元配列
- 22. 深さが未知のPHP編集多次元配列
- 23. 引数を持つPythonクラスのデコレータを持つことは可能ですか?
- 24. typescript異なる型を持つ多次元配列
- 25. 私は以下の次の配列を持つ2つの次元配列PHP
- 26. 継承階層のクラスの汎用メンバに型制約を課すことは可能でしょうか?
- 27. 汎用関数の異なるインスタンスが異なる静的変数を持つことは可能ですか?
- 28. 可変配列内のオブジェクトが2つの値を持つことは可能ですか?
- 29. 2次元配列の値を持つ1次元配列のインデックス付け
- 30. PHP、私はこのように見ている多次元配列を持つ多次元配列
何2つの 'MyClass'インスタンスが等しいという要件ですか? – user1803551
すべてのフィールドが等しいこと。 – Johnny
そして、それらのすべてに対して 'equals'メソッドを呼び出します。あなたの最初の質問については、自分自身をチェックしてみませんか? – user1803551