問題タブ [cloneable]
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.
list - PrettyHABTMリストエントリ
レシピ、アイテム、ユニットのテーブル/モデルがあります。レシピとアイテムとHABTMの関係があり、レシピを追加/編集するときにデフォルトの複数選択ボックスが表示されます。(ほとんどすべてにBakeを使用しています)。問題は、数量と単位を各アイテムに関連付ける必要があることです。
私が望んでいるUIのサンプル:
その大きな要素は、個々のアイテムを追加/削除/編集する機能です。送信されたフォームデータを見て、jqueryとcloneを使用するとうまくいくと思います。しかし、誰かがすでにこのためのビヘイビアを作成したのではないかと思っていましたか?
現在のモデル(関連するものに短縮、つまりユーザー/メモなどを削除):
。
。
java-me - j2meのクローン可能なインターフェース
クローン可能なインターフェイスを実装したいのですが、実装できません。J2meを使用していますが、パッケージでCloneableインターフェイスを作成するときにエラーが発生します。私の知る限り、J2meではjdk1 1.0の一部であるため、Cloneableインターフェイスを実装できます。親切に助けてください
c# - ICloneable を追加できないオブジェクトのクローンを作成する
各フィールドを手動で設定せずに、オブジェクトの浅いコピー (新しいインスタンス) を作成しようとしています。このオブジェクトは、私が変更できるタイプではないため、オブジェクトにアクセスして ICloneable を実装することはできません...ちょっと行き詰まっています。オブジェクトを単純に複製する簡単な方法はありますか?それとも、各フィールドを新しいオブジェクトに単純にコピーする Clone() メソッドを実装する必要がありますか?
助けてくれてありがとう!
java - clone() メソッドが Object に保持されるのはなぜですか?
Cloneable
クラスがこのクラスのオブジェクトでない場合、クローンを作成できません。では、なぜインターフェイスではなくクラスにclone()
保持されるのでしょうか?Object
Cloneable
oop - シリアライズはディープクローニングを生む?
私は ASF の寄稿者によって書かれた記事を読んでいました。彼は、オブジェクトをディープ クローンするための "古い Java トリック" は、オブジェクトをシリアライズしてからデシリアライズして別のオブジェクトに戻すことであると簡単に述べました。これを読んだとき、私は一時停止し、「これはかなり賢い」と思いました。残念ながら、ディープ クローニングもシリアル化もこの記事の主題ではなかったため、著者は自分が話していることの例を示したことはありません。
私は、次のようなものについて話していると仮定する必要があります。
私が少しずれている可能性がある場合 (プラスまたはマイナスの数行のコード)、これはオブジェクトのディープ クローンを作成するための一般的に受け入れられている方法ですか? この方法に落とし穴や注意点はありますか?
対処されていない同期/並行性/スレッドセーフの問題はありますか?
これがオブジェクトのディープ クローン作成のベスト プラクティスである場合、私はそれを宗教的に使用するつもりです。
java - オブジェクトを複製可能にしないのはどのような状況ですか?
基本的なコレクション インターフェイス (List、Map、Set) はインターフェイスを拡張しませんCloneable
。これは、具体的な実装にクローン可能性を強制しないために行われます。
すべてのコレクション クラスはCloneable
インターフェイスを実装しているため、それらはすべて本質的に Cloneable です。また、オブジェクトをクローン可能にするためCloneable
に、コンパイラ/JVMにカーテンの後ろで追加の作業を行うように通知することを意味するマーカーインターフェースです。
私の質問は次のとおりです。オブジェクトをクローン可能にしたくない状況は何ですか?
java - コピー コンストラクターと Cloneable インターフェースの実装
「ベスト プラクティス」に関して、オブジェクトの「ディープ コピー」を作成するためにどの方法が好まれますか?
java - java.lang.Cloneable が java.lang.Object の clone() メソッドをオーバーライドしないのはなぜですか?
インターフェースの Java 仕様は、java.lang.Cloneable
インターフェースを拡張するすべてのオブジェクトが、clone()
内で休眠状態にあるメソッドも実装していることを示すものとして定義していますjava.lang.Object
。具体的には、次のように述べています。
クラスは、そのメソッドがそのクラスのインスタンスのフィールドごとのコピーを作成することが正当であることをメソッド
Cloneable
に示すインターフェイスを実装します。java.lang.Object#clone()
私にとって、これは、拡張するすべてのクラスがその中にメソッドCloneable
も持っていると想定する必要があることを意味します。public Object clone()
これにより、次の方法が有効であると簡単に推測できます。
ただし、Cloneable
ソースコード全体 (sans javadoc) は単に
つまり、それCloneable#clone()
は存在しません (そして、上記のサンプル メソッドをコンパイルしようとすると、" " のようなコンパイル時エラーがスローされますcannot find symbol: method clone()
)。のソース コードにCloneable
は、 の影響を受ける何かが含まれているべきではありませんpublic Cloneable clone();
か?
Cloneable
を実装するクラスがメソッドを持っていると想定できないのはなぜpublic Cloneable clone()
ですか?
java - オブジェクトのクローンを作成する際のロジックについて支援が必要です
これを投稿する前に、以前の投稿のいくつかを読みましたが、ロジックに問題はありません。(私はすでに3時間ですが、おそらくハッピーアワーを殺すでしょう)*答えを知りたくありません、私は一生懸命働くことを楽しんでいるので、誰かが私がそれを達成しようとしていることについて質問できるかもしれませんあなたの手がかりやヒントを使って答えを考えるように私を導くことができます。よろしくお願いします。* obj2はクローンを作成していないため、例外stackTraceの背後で、同じ行にnullpointer例外があることがわかりました。これは、obj2がクローンされないことを意味します。もう少し考え直すのを手伝ってください。
私の親クラス
私のサブクラス
私のテストクラス
エラー出力
思考過程で何が欠けていますか?インターフェイスを作成し、実装して、スーパークラスとサブクラスでオーバーライドしました。私のサブクラスはsuper.clone()をスーパークラスに参照し、スーパークラスのsuper.clone()はオブジェクトのクローンメソッドを参照していると思います。私はテストクラスで正しくキャストしましたが、obj2はcompareToともちろんequalsの両方でnullになります。私は何を考えていませんか?
java - Cloneableでクローンメソッドを保護するにはどうすればよいですか?
非常に簡単な質問があります(私は推測します!)インターフェイスがパブリックメソッドのみを宣言できるのに、クローン可能なインターフェイスでクローンメソッドを保護するにはどうすればよいですか?