当前位置:编程学习 > JAVA >>

java空指针问题,怎么改?

for(String indiName : indiLst) { System.out.println(" " + indiName); } 说这一句中有空指针,能不能帮忙看看是什么错误? private void setIndividualRelated() { ExtendedIterator classesIter = ontModel.listClasses(); while(classesIter.hasNext()) { OntClass ontClass = (OntClass)classesIter.next(); if(!ontClass.hasSubClass()) { String className = ontClass.getURI(); // className = className.substring(className.indexOf('#') + 1); classLst.add(className); ExtendedIterator indiIter = ontClass.listInstances(); ArrayList<String> indiLst = new ArrayList<String>(); while(indiIter.hasNext()) { Individual indi = (Individual)indiIter.next(); String indiName = indi.getURI(); indiName = indiName.substring(indiName.indexOf('#') + 1); indiLst.add(indiName); allIndiLst.add(indiName); } if(indiLst.size() != 0) { classIndiMap.put(className, indiLst); } } } } public build(String filePath) { this.filePath = filePath; ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null); loadModel(); prefix = ontModel.getNsPrefixURI(""); classLst = new ArrayList<String>(); classIndiMap = new HashMap<String, ArrayList<String>>(); allIndiLst = new ArrayList<String>(); setIndividualRelated(); } public List<String> getClassesList() { return classLst; } public Map<String, ArrayList<String>> getClassIndiMap() { return classIndiMap; } public List<String> getAllInstance() { return allIndiLst; } public static void main(String[] args) { build owlIndiInfo = new build("src\\ontology\\new钢铁.owl"); List<String> classLst = owlIndiInfo.getClassesList(); Map<String, ArrayList<String>> classIndiMap = owlIndiInfo.getClassIndiMap(); for(String className : classLst) { ArrayList<String> indiLst = classIndiMap.get(className); System.out.println(className + ":"); for(String indiName : indiLst) { System.out.println(" " + indiName); } }
答案:空指针的话你调试的时候跟踪一下对象就知道啦. 如果是null ,然后下一句又用这个对象的属性.肯定会报错的,遇到问题别紧张.空指针是代码里面最简单的错误了.多遇到一些错误,自己解决对自己有好处,.心理素质也会提高的.我在公司里面看到的错误都是好几页的来.已经见怪不怪了..
其他:用火狐浏览器的debug看一下空指针具体出自哪里,找到源头就好改了 应该是你的变量没有正常的初始化造成的 

上一个:关于java正则表达式的问题
下一个:java数据库操作和在线查询翻译问题。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,