JAVAのobersverパターンの更新の実装に問題があります。キューイングシステムからのArrayListをオブザーバーに送信します。問題は、ArrayListをオブジェクトとして受け取るオブザーバーにあります。次のステップはArrayListへのキャストですが、Javaの実行時間のためにパラメーター情報がないため、安全でないキャストになります。つまり、ジェネリッククラス全体でオブザーバーに通知することはできますが、私が間違っているのか、それとも「小鳥の岩で撃っている」のかはわかりません。結果として、最終的な原因にエラーはありません。私は常にこのオブザーバーに1つのtypで通知しますが、問題は警告を受け取るべきか、それとも回避策があるかということです。
ArrayList<Message> messageList = sqsUtil.getMessagefromAnotherEntrypoint("myQueueName");
if (messageList != null) {
// notify Observers
notifyObservers(messageList);
}
そして、安全でないキャストが発生するアップデート
@Override
public void update(Observable o, Object arg) {
ArrayList<Message> aMessageList = (ArrayList<Message>)arg;
}
それにもかかわらず、ヘルプに感謝します