問題タブ [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.

0 投票する
3 に答える
405 参照

java - クラスがクローン可能を実装していない場合、不変オブジェクトを取得するにはどうすればよいですか

HashMap に値を入力する際の問題や疑問はほとんどありません

HashMap で「Student」をキーとして、「Details」を値として受け入れるようにしたいと考えています。hashMap へのキーは不変でなければならないので、次の場合にこれをどのように処理できるか疑問があります。

  1. 学生クラスは複製できませんでした
  2. 学生クラスには「ラボ」への参照があります

    /li>

Student が複製可能であっても、Department の参照を取得し、setLab() を呼び出して StudentObject を変更できます。(私が間違っている?)

Department と Lab がサードパーティの jar からのものである場合、Student hashCode が (primeNumber+Student.id+Department.id+Lab.id).hashcode() [ちょうどいくつかの奇妙なケース]; の場合、マップで Student オブジェクトを使用するにはどうすればよいですか?

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

deep-copy - 文字列配列のディープコピー

JAVA の文字列配列のディープ コピーを実装するコードを示す必要があります。以下は私が開発したコードです。それが正しいかどうかは誰でも確認できますか?

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

java - Java Cloneable またはコピーコンストラクター、なぜそれらを使用するのですか? これらの戦略のいずれかが実際に行うことは何ですか?

私が持っている質問は初心者のようなものです。私は初心者なので、無知であることをお許しください。

私が働いている会社で何人かのコンサルタントが書いたコードに出くわしました。コードを詳しく調べてみたところ、クラスがクローン可能と呼ばれるインターフェイスを実装している理由がわかりませんでした。だから私はこの複製可能な混乱をグーグルで検索しようとしましたが、「使用しないでください」または「代わりにコピーコンストラクターを使用してください」のようなものしか表示されません。私はそれらのどちらかが何であるかを知りません。この種のクローン作成が実際に必要な場合の理由を誰か詳しく説明してもらえますか? オブジェクトのクローンを作成する理由

元コンサルタントと話したところ、これによりメソッドを連鎖できるようになるとのことでした。お気に入りquestionSet.dosomething().doAnotherThing().dowth();

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

serialization - protobuf-net で ICloneable を実装する

次のコードが機能しない理由を教えてください。

どこ

コードは正常に実行されますが、逆シリアル化されたオブジェクトには、適切なプロパティの値として 0 と空の文字列があります。

Upd .:バイナリファイルにシリアル化してから、読み取り用に開いて新しいストリームを作成すると、コードが機能します。中間バイナリ ファイルを回避し、シリアライズとデシリアライズの両方に 1 つのストリームのみを使用する可能性はありますか?

0 投票する
3 に答える
2303 参照

java - Java でのデッキの実装

だから私は、カードのデッキを実装しなければならないラボを持っています (私たちは外部の助けを求めることが許されているので、ここで私は多くの頭を悩ませています)。num を作成するには、enum クラスを使用する必要があります。

スーツの場合:

}

数字の場合:

}

私のカード クラスは非常に簡単ですが、次の 2 つのコード ブロックについてはよくわかりません。

トリッキーな部分...デッキ...

したがって、Cloneable、Iterable、および Comparator を使用してデッキを実装する必要があります。

私はコンストラクタをまとめるのに苦労しています。ArrayList を使用して、ソートされた 52 枚のカードを本質的に「保持」することを計画しています (ご覧のとおり)。しかし、最終的にはソートされたデッキを返さなければなりません。どこに行くべきかについての提案はありますか?

0 投票する
3 に答える
28017 参照

java - Java で LinkedList 実装キューをコピーまたは複製するにはどうすればよいですか?

Queueとして実装されているq1 があり、別の、しかし同一のq1の同一インスタンスである q2LinkedListを定義したいと考えています。QueueQueue

Queue実装していないので、どうすればいいCloneableですか?

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

java - super.clone を呼び出すかどうかに関係なく clone メソッドをオーバーライドするとどうなるか理解できますか?

Joshua Bloch の『Effective Java』を読んでいます。濃密で複雑な本だと言わざるを得ません。すべてのオブジェクトに共通のメソッドに関する章 (第 3 章) は、私がプログラミングを始めて 3 年未満 (Java で 1 年) しか経っていないため、理解するのが難しいことがわかっています。clone メソッドを適切にオーバーライドするという概念がよくわかりません。正しい方法と間違った方法でクローンを実装する簡単な例を入手できますか? また、super.clone の呼び出しに失敗すると問題が発生するのはなぜでしょうか? 何が起こるか?

前もって感謝します。

0 投票する
4 に答える
477 参照

java - javaでオブジェクトを複製する必要がある理由は何ですか?

Joshua Bloch の『Effective Java』を読んでいました。そこで彼は、Clonableインターフェースを使用しないことについて話しています。私は少し初心者なので、コードでクローン作成が必要になる場合のユースケースは何ですか? 概念を理解できるように、誰かが粘着性のある例を挙げてもらえますか?