@Override
public IEntity updateEntity(IEntity entity) {
String entityType = null;
try {
entityType = getEntityType(entity);
if (entity != null) {
getHibernateTemplate().merge(entity);
}
} catch (Exception e) {
ExceptionUtils.throwVSXException(entityType, e);
}
return entity;
}
公共(public)接口(interface) IEntity 扩展可序列化{
ConnectivityEntity getConnectivityEntity();}
虽然 IEntity 是一个接口(interface)并实现了如此多的类,但如何了解哪个实现的类将使用此返回值
最佳答案
您可以使用instanceof
运算符并检查实现类。例如,如果类 A 和 B 实现 IEntity
接口(interface),那么您可以检查如下:
@Override
public IEntity updateEntity(IEntity entity) {
String entityType = ""; // Returing null is bad
......
if(entity instanceof A){
entityType="A class"
}
else if(entity instanceof B){
entityType= "B class"
}
return entityType
}
关于java - 如何在返回接口(interface)引用时知道将使用哪个实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29620559/