「実行可能な」クラス「A」があり、Java アンマーシャラーから新しいオブジェクトを作成します。MainGUI スレッドは、既にクラス "A" にある get() によってこれらのインスタンスにアクセスしようとします。クラス A で作成したインスタンスを静的に作成して、永久に使用できるようにしましたが、プロパティが異なる新しい完全なインスタンスを取得するときの問題は、新しいインスタンスを以前の 1 つのデータと比較して保持する必要があることです。新しい方。
その問題に対するより良い方法や設計はありますか?
静的にせずに実行時に作成されるクラス「A」のインスタンスを取得するにはどうすればよいですか?
サンプルコード:
public class SOAPMessagesFactory {
private static GetCameraImageResponse getCameraImageResponse;
// process here the msgs in another thread, not shown here in that snipped
if (messageTag.equalsIgnoreCase("GetCameraImageResponse")) {
try {
JAXBElement<GetCameraImageResponse> cameraImageResponse = unmarshaller.unmarshal(SoapBodyReader, GetCameraImageResponse.class);
getCameraImageResponse = cameraImageResponse.getValue();
} catch (Throwable ex) {
ex.printStackTrace();
}
}
public GetCameraImageResponse getCameraImageResponse() {
if (getCameraImageResponse != null) {
return getCameraImageResponse;
} else {
return null;
}
}
// in main gui
public void UpdateGUI() {
GetCameraImageResponse cameraImageResponse = messageFactory.getCameraImageResponse();
}