問題タブ [serialversionuid]
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.
java - Java Serialization: serialVersionUID が間違って更新され、既にリリースされている場合の解決策。
serialVersionUID を持たない非常に古いクラスがあります。
4 年前、誰かがこのクラスにランダムな値で serialVersionUID を追加しました。彼は、serialver ツールを使用して値を見つけ、serialVersionUID を追加するときにそれを使用する必要がありましたが、そうではありませんでした。
このクラスの両方のバージョンを使用している顧客がいます。
古い顧客のオブジェクトをデシリアライズしたい場合は、方法があります。新しい顧客が影響を受けるため、現在の serialVersionUID を変更することはできません。
java - さまざまなserialVersionUIDを使用してJavaオブジェクトを逆シリアル化するにはどうすればよいですか?
Foo
過去にs1、3、および17があったクラスがあり、3つのバージョンすべてをインスタンスserialVersionUID
に読み取ることができる必要があるとします。Foo
それ、どうやったら出来るの?
特に、どのバージョンがバイトストリームに保存されたかを知る必要があるので、データ移行を行うことができます。serialVersionUID
にアクセスするにはどうすればよいreadObject()
ですか?それとももう手遅れですか?
java - インターフェイスを介した定数の宣言を推奨する
私はしばらくの間、私の小さなペット プロジェクトのシリアル化可能なインターフェイスをいじっていましたが、 static final long をどのように定義する必要があるかについての警告によく気付きますserialVersionID
。
私は、独自のインターフェイスで同様の警告を生成する方法を探していました (それを実装するクラスで定数の宣言を強制/推奨します) が、これまでのところ何も見つかりませんでした。インターフェイスは単なるマーカー インターフェイスであるため、実際には何も含まれていません。Seralizable
私の質問に最も近いのは、dreamincode のこのスレッドです。
それは非常に便利な機能のように聞こえるので、誰か助けてもらえますか?
java - Java:シリアル化可能な内部クラスと匿名クラスにはSerialVersionUIDが必要ですか?
現在、何もシリアル化する予定はありませんが、シリアル化可能なすべての外部クラスと、静的にネストされたクラスにを指定SerialVersionUID
します。これが適切な方法だからです。
しかし、私はここでそれを読みました
ローカルクラスや匿名クラスを含む内部クラス(つまり、静的メンバークラスではないネストされたクラス)のシリアル化は、いくつかの理由から強く推奨されていません。..。
だから私の質問は:
内部クラスと匿名クラスをSerialVersionUID
それぞれ与える必要がありますか、それともそれらにを追加する必要があり@SuppressWarnings("serial")
ますか?
片方がもう片方より適切ですか?
いずれにせよ、そのようなクラスへの参照は一時的なものにします。なぜなら、それらをシリアル化したくないからです。
java - JPanel内でserialVersionUIDを宣言するJavaエラー
このエラーが発生しているので、このスクリプトから本当にイライラします...
JTextArea出力内でsetEditableを宣言しようとしています...何かアイデアはありますか?
編集:エラーは次のとおりです:
serialVersionUIDを宣言するセミコロンに表示されます。
java - プログラムが実行されない - コンパイルの警告
私は新しい Java プログラマーです。このプログラムをEclipseで実行しようとしていますが、エラーは
なぜこの行を宣言する必要があるのですか?
java - ファイルに保存された Java シリアライズ クラス - 下位互換性を確保するにはどうすればよいですか?
「写真サービス」契約を作成し、後で印刷するためにファイルとしてデバイスに保存するための Android アプリを作成しました。このクラスは、ほとんどの場合、整数、倍精度、文字列 (base64_encoded シグネチャを含む) で構成されています。
クラスはシリアライズ可能を実装します。ただし、アプリを更新し、クラスを編集して編集するのを忘れて、デバイスにリロードし、X 個の契約をファイルに保存してからそれらを取得できないことを心配しています。
以前、ブラウジングしていて、serialVersionUID を見つけました。投稿で、この単純な long 値を実装するだけで、クラスを更新しても読み取ることができると読みました。これは正しいです?Serializable の Java ドキュメントを読みましたが、serialVersionUID を実装した結果がどうなるかについて多くの決定を下すことができませんでした。
誰かが私のためにこれに光を当てるのを助けることができますか? 単純な「はい、これは機能します」または「いいえ、これは機能しません」だけで十分であり、学習に役立つリンクはさらに優れています!
java - JavaでプログラムによってserialVersionUIDを生成する方法は?
Javaファイルを生成するプロジェクトに取り組んでいます。serialverツール を使用する場合と同様に、オプションで を追加できるようにしたいとserialVersionUID
考えています。
Javaコードを生成するときにこれを行う方法はありますか? または、ツールのユーザーに手動で UID を提供するよう依頼する必要がありますか? 明確にするために、私はこれを Eclipse やserialver
ツールを介して自動的に行うつもりはありませんが、Java自体を介して行うつもりです。