2 つの Java プログラム間で属性/オブジェクトの値を渡す簡単なソリューションを探しています。プログラムは同一 (別々のノードで実行) であり、メソッドの呼び出しを介して変数を設定/取得することはできません。ファイルやネットワークなどの外部チャネルを介してのみ通信できます。共有する必要のあるさまざまなオブジェクトが多数あります。私の考えは、データをテキストとして渡し、xml でエンコード/デコードすることです。オブジェクトの名前とそのクラスを送信することもできます。
私の問題は、decode メソッドが Object 型の変数を返すことです。値をターゲット オブジェクトに移動する必要がありますが、キャストがないと、コンパイラ エラー「互換性のないキャスト」が発生します。だから私はキャストをしなければなりません。しかし、多くの可能なオブジェクトがあり、if または switch ステートメントの膨大なセットを実行する必要があります。クラスの名前があり、ある種の動的キャストを行うのはとてもいいでしょう。
このスレッドでは、同様のトピックについて議論し、 Class.cast() の使用を提案していますが、成功していません:
java:ある型から別の型への変数の動的キャストを行うにはどうすればよいですか?
私はあなたがここにいるコード指向の質問を好みます:
Object decode( String str )
{
return( str );
}
String in = "abc";
String out;
// out = decode( in ); // compiler error 'incompatible types'
// out = (String)decode( in ); // normal cast but I'm looking for dynamic one
// out = ('String')decode( in ); // it would be perfect
乾杯、アニー