繁体   English   中英

我如何从公共无效方法中获取字段?

[英]How can i get field from public void method?

我有方法

public String parseRootElement(InputStream xmlStream) throws SAXException {
    String name;
        try {
        DefaultHandler handler;
            handler = new DefaultHandler() {
                @Override
                public void  startElement(String uri,String localName,String qName,Attributes attributes){
                 name=qName;
                 }
                  };
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser parser=factory.newSAXParser();
            parser.parse(xmlStream, handler);

            return name;
        } catch (ParserConfigurationException | IOException ex) {
            throw new IllegalStateException("ParserConfigurationException", ex);
        }
    }

如何从public void startElement()获取qName name = qName不起作用,因为

在内部类中访问局部变量输入; 需要宣布为最终

有很多类似的问题,但我仍然很愚蠢。

更改String name; final String[] name = new String[1]; name=qName; name[0]=qName; return name; return name[0];

这将创建一个数组,在其中存储结果并从中检索结果。 通过将结果存储在数组中,我们可以使“ name”变量成为最终变量,从而使编译器满意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM