問題タブ [externalizable]

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 投票する
1 に答える
69 参照

java - Externalizable を実装する場合、明示的なデフォルト コンストラクターが必要ですか?

クラスが Externalizable を実装する場合、引数のないコンストラクターが必要であることはわかっていAますが、クラスにコンストラクターがない場合 (私のAクラスのように)、java は空の引数なしのコンストラクターを提供します。では、なぜエラーが発生するのでしょうか。クラスに引数なしのコンストラクター ( public A() {})を明示的に追加すると、Aすべて問題ありません。
エラー:

スレッド「メイン」での例外 java.io.InvalidClassException: A; java.base/java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException(ObjectStreamClass.java:159) に有効なコンストラクターがありません。 java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1594) の io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2061) java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:430) のTest.main (Test.java:19) で