为了账号安全,请及时绑定邮箱和手机立即绑定

不知道如何转换 Java - HTML

不知道如何转换 Java - HTML

慕标5832272 2021-12-22 20:36:58
该程序适用于 MySQL、Java 和 HTML。在控制台中我可以打印数据库的每个数据,我不能在 HTML 中程序崩溃于:.replace("[BATTERYLIFE]", ((Laptop)p).getOrebatteria()+"")告诉我entity.Pc 不能转换为 entity.Laptop我有智能手机--> 笔记本电脑--> 个人电脑--> 产品(--> 扩展)。我不知道如何投射它们,在此先感谢您。ris = ris.replace("[ID]", p.getId()) .replace("[CODE]", p.getCode()).replace("[MODEL]", p.getModel()).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())  .replace("[BATTERYLIFE]", ((Laptop)p).getOrebatteria()+"")  .replace("[INCHES]", ((Laptop) p).getPollici()+"")  .replace("[NETWORK]", ((Smartphone) p).getNetwork())  .replace("[MEGAPIXEL]", ((Smartphone) p).getMegapixel()+"")  .replace("[JACK]", ((Smartphone) p).getJack());
查看完整描述

1 回答

?
慕勒3428872

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());

}



查看完整回答
反对 回复 2021-12-22
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信