メソッド内で指定されている匿名クラスから文字列を返したい。ここでは、parseXmlメソッドからrespMessageを返す。私はこれを行う方法がわかりません、私はクラス変数としてそれをすることはできません。これを返す方法を教えてください。ローカル最終変数を割り当てる必要があり、再割り当てすることができないため、最終確定することもできません。メソッド内のananymous内部クラスから変数を返す方法
private String parseXml(String resXml) {
logger.info("In sax parsing");
//final String respMessage;
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
boolean isResMessage = false;
protected String respMessage;
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if (qName.equalsIgnoreCase("ErrorMessage")) {
isResMessage = true;
}
}
public void characters(char ch[], int start, int length) throws SAXException {
if (isResMessage) {
respMessage = new String(ch, start, length);
isResMessage = false;
}
}
public String getRespMessage() {
return this.respMessage;
}
};
saxParser.parse(new InputSource(new StringReader(resXml)), handler);
} catch (Exception e) {
e.printStackTrace();
}
return this.DefaultHandler().getRespMessage();
}