我有一个Java应用程序,它将一些rdf数据集作为输入并处理这些数据。
我使用TreeMap
,其中键是实例名称,值为TreeSet
,包括实例具有的属性列表和允许我们使用的int。
static TreeMap<String, TreeSet<PropertyIsTyped>> instanceListPropertiesTreeMap = new TreeMap<String, TreeSet<PropertyIsTyped>>();
String instancemapKey = s[0];
TreeSet<PropertyIsTyped> setOfPropertiesPerInstance = new TreeSet<PropertyIsTyped>();
if (instanceListPropertiesTreeMap.get(instancemapKey) == null) {
setOfPropertiesPerInstance.add(new PropertyIsTyped(s[1], 1));
instanceListPropertiesTreeMap.put(instancemapKey, setOfPropertiesPerInstance);
} else if (instanceListPropertiesTreeMap.get(instancemapKey) != null
&& !setOfPropertiesPerInstance.contains(s[1])) {
setOfPropertiesPerInstance = instanceListPropertiesTreeMap.get(instancemapKey);
PropertyIsTyped currentListproperties = new PropertyIsTyped(s[1], 1);
setOfPropertiesPerInstance.add(currentListproperties);
}
另一方面,我的PropertyIsTyped
类就像:
public class PropertyIsTyped {
public int isTyped;
public List<String> PropertySet;
public PropertyIsTyped(String properties, int typevalue) {
// this.propertyId = id;
if (properties != "")
PropertySet.add(properties);
if (typevalue == 1) {
this.isTyped = 1;
} else {
this.isTyped = 0;
}
}
}
问题:当我想要在我的List PropertySet中插入新的propeties时,我提供我的数据集时,它会给我NullpointerExceptionError
任何想法?
答案 0 :(得分:-2)
public List propertySet = null;
if(properties!=&#34;&#34;) propertySet.add(properties);`不要纠正!列表必须初始化!
您需要初始化列表:
public List PropertySet = new ArrayList&lt;&gt;();
...