【发布时间】:2016-11-25 20:24:33
【问题描述】:
我有以下一类实例:
package com.sample;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement (name = "instance")
public class Instance {
int id;
double startValue;
double endValue;
double duration;
String Code;
public int getId() {
return id;
}
@XmlElement (name = "ID")
public void setId(int id) {
this.id = id;
}
public double getStart() {
return startValue;
}
@XmlElement
public void setStart(double start) {
this.startValue = start;
}
public double getEnd() {
return endValue;
}
@XmlElement
public void setEnd(double end) {
this.endValue = end;
}
public void setDuration() {
duration = endValue - startValue;
}
public String getCode() {
return Code;
}
@XmlElement
public void setCode(String code) {
Code = code;
}
}
每个实例对象都通过 jaxb 解组器映射到事件 XML 文件中的值。然后将这些实例对象存储在名为 Instances 的列表类中,如下所示:
package com.sample;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement (name = "ALL_INSTANCES")
@XmlAccessorType(XmlAccessType.FIELD)
public class Instances {
@XmlElement(name = "instance")
private List<Instance> instances = null;
public List<Instance> getInstances() {
return instances;
}
public void setInstances(List<Instance> instances) {
this.instances = instances;
}
public int getLength() {
return instances.size();
}
public static List<Instances> getUnion(List<Instances> one, List<Instances> two) {
List<Instances> union = new ArrayList<Instances>(one);
union.addAll(two);
return union;
}
}
在 main 方法中,我试图在调用解组过程后调用两个实例列表的 getUnion() 方法以合并为一个。
Instances ins = (Instances) jaxbUnmarshaller.unmarshal(file);
Instances ins1 = (Instances) jaxbUnmarshaller.unmarshal(file1);
Instances.getUnion(ins, ins1);
但是说我得到“Instances 类型中的方法 getUnion(List, List) 不适用于参数 (Instances, Instances)”。不知道我说得对还是设计对了。
基本上,我的 Instances 类需要一种方法,将两个 Instances 连接到一个 List 中进行处理。
谢谢。
【问题讨论】:
-
这和它说的差不多——你有一个需要两个
Lists的方法,你试图传递两个Instancess,而Instances不是List,那么您期望会发生什么?
标签: java list class join append