gpt4 book ai didi

java - java中的列表<结构>

转载 作者:行者123 更新时间:2023-12-01 15:19:09 25 4
gpt4 key购买 nike

如何实例化列表中的对象,例如

我喜欢在文件中搜索开始,如果找到则在其后添加存储代码。这是示例

public abstract class Structure 
{
private List<Structure> structureList = new ArrayList<Structure>();

protected void setStructure(Filemanager file, String line)
{
/*
* set all values at the object structure
*/
line = file.getSourceLine();

while (!line.contains("END_"))
{
if (line.contains("TRANSLATE"))
{

}
else if (line.contains("BEGIN_OBJECT"))
{
structureList.add(new FunctionalStructure(line));
}
else
{
setValue(line);
}
line = file.getSourceLine();
}
}

protected abstract void setValue(String line);
}

public abstract class FunctionalStructure extends Structure
{
private String name;
public FunctionalStructure(String line)
{
super();
this.name = line.substring(line.indexOf("\"")+1, line.lastIndexOf("\""));
}
public String getName()
{
return this.name;
}
public List<Structure> Startfunctional()
{
return null;
}
protected abstract void setValue(String line);
}

我在实例化 StructureList.add(new FunctionStructure(line)); 时遇到问题;

谁能告诉我上面这行有什么问题吗

最佳答案

我认为FunctionalStructure必须是一个抽象类(大概扩展了Structure)。您无法实例化抽象类。

这就是为什么您会收到如下错误:

Cannot instantiate the type FunctionalStructure

如果您创建了FunctionalStructure 类,也许您不小心将其标记为抽象类。假设它实现了 setValue(String) 方法,您可以从类声明中删除抽象修饰符。

或者,在您正在使用的 API 中使用扩展 FunctionalStructure 的合适的具体类。

或者,使用匿名内部类:

structureList.add(new FunctionalStructure(line){
public void setValue(String value) {
// your implementation here
}
});

关于java - java中的列表<结构>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11209913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com