是否可以使用EL进行投射?
我有一个类车辆,以及另外两个扩展车辆的汽车和公共汽车。 我正在搜索所有的车辆,并且有一些数据在公共汽车中但在车中没有。
因此,我试图在汽车上展示汽车时的东西,而在公共汽车上展示汽车上的东西。
我怎么能这样做,Cast,instanceof?我怎么能这样做,因为我有点迷失在这里。
由于
答案 0 :(得分:9)
您可以使用${obj.class.simpleName == 'Car'}
,但这不是最好的事情。
也许您可以使用geType()
抽象方法并使用它来区分。例如:
<c:forEach items="${vehicles}" var="vehicle">
Reg.No: ${vehicle.registrationPlateNumber}
<c:if test="${vehicle.type == 'bus'}">
Toilets: ${vehicle.toilets}
</c:if>
</c:forEach>
答案 1 :(得分:-3)
您将通过从车辆类别扩展汽车和公共汽车(因为车辆将是父级)来实现。 例如
public class Vehicle {
public void speed(){
// some code
}
}
public class Car extends Vehicle {
public void speed(){
// some code
}
}
public class Bus extends Vehicle {
public void speed(){
// some code
}
}
现在您可以在启动它们或获取天气时检查它是不使用instanceOf关键字的车辆实例。
即
if(new car() instanceOf Vehicle){
//somecode
}