1 回答
TA贡献1848条经验 获得超6个赞
您正在尝试将p类型Pc为to 的对象强制转换Laptop为该行,因为pcan be Smartphone,Laptop或者Pc您需要在转换前检查它是否为正确的类型。投射LaptoptoPc会很好,因为Laptop extends Pc,但反过来不行。
尝试类似:
ris = ris.replace("[ID]", p.getId())
.replace("[CODE]", p.getCode())
.replace("[MODEL]", p.getModel());
if (p instanceof Pc) {
ris = ris.replace("[CPU]", ((Pc) p).getCPU())
.replace("[RAM]", ((Pc) p).getRam() + "")
.replace("[MMA]", ((Pc) p).getMma() + "")
.replace("[RAMTYPE]", ((Pc) p).getRamType())
.replace("[MMATYPE]", ((Pc) p).getMmaType());
} else if (p instanceof Laptop) {
ris = ris.replace("[BATTERYLIFE]", ((Laptop) p).getOrebatteria() + "")
.replace("[INCHES]", ((Laptop) p).getPollici() + "");
} else if (p instanceof Smartphone) {
ris = ris.replace("[NETWORK]", ((Smartphone) p).getNetwork())
.replace("[MEGAPIXEL]", ((Smartphone) p).getMegapixel() + "")
.replace("[JACK]", ((Smartphone) p).getJack());
}
添加回答
举报