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;
}