【发布时间】:2012-12-17 19:51:29
【问题描述】:
我正在从另一个类中的 ArrayList 创建一个新的 ArrayList。
ArrayList<AplotDataModel.AplotDatasetData> tableData = AplotDataModel.getInstance().getArrayData();
我已经将另一个类中的 arraylist 更改为 IOservableList。 所以我希望它就像更改获取 ObservableList 而不是 ArrayList 的方法一样简单
ArrayList<AplotDataModel.AplotDatasetData> tableData = AplotDataModel.getInstance().getObservableList();
我收到以下错误:
类型不匹配:无法从 IObservableList 转换为 ArrayList
编辑 AplotDatasetData 是 AplotDataModel 的子类。
public class AplotDatasetData {
TCComponentItemRevision rev;
TCComponentDataset componentdataset;
String prlValue;
String datasetName;
String markUp = "No";
//////////////////////////////////////////////////////////////////////////
// Constructor //
//////////////////////////////////////////////////////////////////////////
public AplotDatasetData(TCComponentItemRevision tcRevision, TCComponentDataset selectedDataset) {
rev = tcRevision;
componentdataset = selectedDataset;
}// end Constructor
///////////////////////////////////////////////////////////////////////////
// getDataset() //
///////////////////////////////////////////////////////////////////////////
public TCComponent getDataset() {
return componentdataset;
}// end getDataset()
///////////////////////////////////////////////////////////////////////////
// getRev() //
///////////////////////////////////////////////////////////////////////////
public TCComponent getRev() {
return rev;
}// end getRev()
///////////////////////////////////////////////////////////////////////////
// getPRLValue() //
///////////////////////////////////////////////////////////////////////////
public String getPRLValue() {
try {
prlValue = rev.getRelatedComponent("IMAN_master_form_rev").getStringProperty("PRL");
}
catch (TCException e) {
e.printStackTrace();
}
return prlValue;
}// end getPRLValue()
///////////////////////////////////////////////////////////////////////////
// getDatasetName() //
///////////////////////////////////////////////////////////////////////////
public String getDatasetName() {
try {
datasetName = componentdataset.getStringProperty("object_string");
}
catch (TCException e) {
e.printStackTrace();
}
return datasetName;
}// end getDatasetName()
///////////////////////////////////////////////////////////////////////////
// getECMarkupValue() //
///////////////////////////////////////////////////////////////////////////
public String getMarkupValue() {
return markUp;
}// end getECMarkupValue()
///////////////////////////////////////////////////////////////////////////
// setECMarkupValue() //
///////////////////////////////////////////////////////////////////////////
public void setMarkupValue(String markupValue) {
markUp = markupValue;
}// end getECMarkupValue()
这是我的基本数据模型。用户选择发送的数据 TCComponentItemRevision 版本; TCComponentDataset 组件数据集;
到 ObservableList,然后我使用 AplotDatasetData 从 rev 获取更多信息,componentdataset 来填充我的表。
因此,用户单击 GUI 上的按钮会打开一个新的 gui 对话框。新的 Gui 还有一个包含几个新列的表 - 我只是想获取用户在第一个 GUI 中填充的 ObservableList 并使用它来构建一个新的数组列表。
ObservableList 不能扩展像 AplotDatasetData 这样的类吗?
【问题讨论】:
-
IOservableList是否扩展了ArrayList?更多代码可能会有所帮助。 -
试试
IObservableList tableData = ... -
为什么你认为 IObservableList 可以分配给 ArrayList 类型的变量?除非 IObservableList 扩展了 ArrayList,否则这就像将香蕉分配给 Car 类型的变量。
-
为什么要把它放在
ArrayList中?只需将其放入List。 -
你的代码真的应该作为一个例子来展示如何不使用 cmets :-)
标签: java