のコンストラクタに割り当てます?
それは可能ですか?自己私はこのようなクラスを持っているのjava
1
A
答えて
3
いいえ、できません。 this
とreza
は異なるオブジェクトを表します。コンストラクタ内で作成されているオブジェクトを既存のオブジェクトに置き換えることはできません。
の内容をreza
にコピーしてthis
にすることができます。そのため、このような一連の割り当てを追加します。
public Reza(Reza reza) {
field1 = reza.field1;
field2 = reza.field2;
...
}
0
いいえ、あなたはそれを行うことはできません。 this
は、設計上、読み取り専用の定数です。それに割り当てても意味がありません。
1
不可能ですが、すべてのプロパティを1つずつ(他の回答のように)コピーすることも、リフレクションによってコピーすることもできます。
public Reza(Reza reza) {
Method[] gettersAndSetters = reza.getClass().getMethods();
for (int i = 0; i < gettersAndSetters.length; i++) {
String methodName = gettersAndSetters[i].getName();
try{
if(methodName.startsWith("get")){
this.getClass().getMethod(methodName.replaceFirst("get", "set") , gettersAndSetters[i].getReturnType()).invoke(this, gettersAndSetters[i].invoke(reza, null));
}else if(methodName.startsWith("is")){
this.getClass().getMethod(methodName.replaceFirst("is", "set") , gettersAndSetters[i].getReturnType() ).invoke(this, gettersAndSetters[i].invoke(reza, null));
}
}catch (NoSuchMethodException e) {
// TODO: handle exception
}catch (IllegalArgumentException e) {
// TODO: handle exception
}
}
}
関連する問題
- 1. は、プログラム私はでこのコードを持っている自己
- 2. 「新しい自己()」私は、次のようなクラスを持っているのJavascript
- 3. マングース自己参照されるスキーマは、このように、私は自己参照されたフィールドを持っているマングースでスキーマを持っている
- 4. 私はこのようなメソッドを持っているのjava
- 5. 私はこのような@ConfigurationPropertiesクラスを持っている
- 6. どのように私はこのようなクラスを持っているJSON
- 7. は、私はこのクラスを持っているJavaの
- 8. は、私はこのようなクラス階層を持ってJSON.NET
- 9. 使用SoftReferenceは、私はこのような静的メンバを持つクラスを持っているJavaの
- 10. は、私はこのようなものPOJOクラスを持っているMyBatisの
- 11. は、私はこのようなクラスA持って質問
- 12. ID列は、私はこのようなクラスのBudgetDetail」を持っているデータベース
- 13. は、私はこのようなクラスを持っているのCoffeeScript
- 14. @qualifierは、私はこのような2つのクラスを持っている@Component
- 15. コールは、私はこのコードを持って、明示的な自己
- 16. は、次のように私はクラスを持っているクラス
- 17. は、私はこのようないくつかのクラスを持っていた
- 18. JAXB、私は次のようなクラスを持っている
- 19. バイトバディ - のような私は、クラスを持っている
- 20. 私はこのようになりますクラス持ってスケジュールジョブ
- 21. Hibernateはシーケンス私はこのようなクラスを持っている
- 22. は、私はこのような何かを持っているクラス名
- 23. は、私は、このようなビュークラスを持っている子クラス
- 24. は、私は、このようなクラスを持っているリスト<MyClass>
- 25. は、私はこのようなActivityクラスからオブジェクトを持っているアンドロイド
- 26. 私はこのようなアプリケーションのクラスを持っているBroadcastReceiver
- 27. は、私はこのような単純なデモ・クラスを持っています
- 28. JAVAのリファレンスは、私はクラスを持っている他のクラス
- 29. は、私がこのような構造を持っている自動化
- 30. 私はこのような文字列を持っているJavaの
ことができません:あなたは(私は別のstackoverflowの答えからそれをコピーし、それが正しいよう)あなたがコピーすることを意味するプロパティのゲッターとセッターを持っていることを期待して、このような 何か、。しかし、なぜあなたはそれをしますか?それとも、何をすべきだと思いますか? – TmTron
(静的な) 'clone()'メソッドを作る方が良いのではないでしょうか? – c0der
これはなぜですか?あなたが解決しようとしている実際の問題は何ですか? – EJP