Java 我如何在这里查找和计算特定类型的空间数?

Java 我如何在这里查找和计算特定类型的空间数?,java,Java,我有以下代码: public class CentroImpl implements Centro { //Atributos private String nombre; private String direccion; private Integer numeroPlantas; private Integer numeroSotanos; public Set<Espacio> espacio; //Constructor public CentroImpl(Strin

我有以下代码:

public class CentroImpl implements Centro {

//Atributos

private String nombre;
private String direccion;
private Integer numeroPlantas;
private Integer numeroSotanos;
public Set<Espacio> espacio;

//Constructor
public CentroImpl(String nombre, String direccion, Integer numeroPlantas, Integer numeroSotanos){
    checkPlantas(numeroPlantas);
    checkSotanos(numeroSotanos);
    this.nombre = nombre;
    this.direccion = direccion;
    this.numeroPlantas = numeroPlantas;
    this.numeroSotanos = numeroSotanos;
    this.espacio = new TreeSet<Espacio>();
}

    @Override
public Set<Despacho> getDespachos() {

}

但我还没有学会如何访问它,而且我也找不到任何可以理解的东西。感谢您的帮助。

假设Despacho扩展了Espacio,TipoEspacio是enum:

@Override
public Set<Despacho> getDespachos() {
    Set<Despacho>  despachos = new HashSet<Despacho>();
    for (Espacio e : espacio) {
        // Not sure, depends on the definition of TipoEspacio
        if (e.getTipo() == TipoEspacio.DESPACHO && e instanceof Despacho) {
          despachos.put((Despacho)e);
         }
    }
    return despachos;
}
@覆盖
公共集getDespachos(){
Set despachos=new HashSet();
对于(Espacio e:Espacio){
//不确定,取决于TipoEspacio的定义
if(e.getTipo()==TipoEspacio.DESPACHO&&e DESPACHO实例){
despachos.put((Despacho)e);
}
}
返回despachos;
}

此答案假设您有一个名为
espacios
espaciompl
集合,并且Despacho的
enum
名称为
Despacho
。然后您必须使用
numDespachos
(比如
return
it)。这还假设
EspacioImpl
有一个名为
getTipo
的方法。您需要它,因为
tipo
成员是
private
,因此在没有getter的情况下无法在类之外访问它

int numDespachos = 0;
for(EspacioImpl e : espacios)
{
    if(e.getTipo() == TipoEspacio.Despacho)
        ++numDespachos;
}

TipoEspacio
是一个
enum
?我认为这里存在一些设计缺陷。
Espacio
界面是什么样子的?可能有@Daniel,因为这是我最早编写的程序之一。相关文件的粘贴箱:(Espacio是地方,centro是大楼)谢谢你的回答。事实上,我想返回一份属于德斯帕乔斯的埃斯帕乔斯人的名单。我相信上面的答案就是这样的。我对你们在答案中的put函数有问题。我需要进口什么东西吗?我更新了我的答案,只有德斯帕乔扩展了埃斯帕西奥,它才有效。如果没有,请向我们展示Despacho(或DespachoImpl)来源。
int numDespachos = 0;
for(EspacioImpl e : espacios)
{
    if(e.getTipo() == TipoEspacio.Despacho)
        ++numDespachos;
}