java使用标记接口使方法更通用
比如
我在一个抽象类中有一个具有以下签名的方法
Set<CarRecommendation> generateRecommendations(String accountId){
// do something
}
为了使上述方法通用并兼容不同类型的推荐,我考虑使用一个空接口,让CarRecommendation和BikereRecommendation实现它
public interface Recommendation {
}
public class CarRecommendation implements Recommendation{
// more stuff
}
public class BikeRecommendation implements Recommendation{
// more stuff
}
这样我就可以将抽象类中的方法签名更改为
Set<? extends Recommendation> generateRecommendations(String accountId)
定义标记接口的唯一目的是使方法通用,这是一种好的做法吗?如果不是,那么更好的方法是什么?谢谢
共 (0) 个答案