不知道如何转换 Java - HTML

该程序适用于 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());



慕标5832272
浏览 123回答 1
1回答

慕勒3428872

您正在尝试将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());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java