使用Marker接口使方法更通用

时间:2018-01-10 19:39:04

标签: java

例如,

我在抽象类中有一个带有以下签名的方法。

Set<CarRecommendation> generateRecommendations(String accountId){

  // do something

}

为了使上述方法通用且兼容不同类型的建议书,我正在考虑使用空接口,让CarRecommendation和BikeRecommendation实现它。

public interface Recommendation {

}


public class CarRecommendation implements Recommendation{

    // more stuff 
}

public class BikeRecommendation implements Recommendation{

    // more stuff
}

这样我就可以将抽象类中的方法签名更改为以下

Set<? extends Recommendation> generateRecommendations(String accountId)

定义标记接口是一个好习惯,其唯一目的是使方法通用吗?如果没有,那会是更好的方法吗?感谢。

0 个答案:

没有答案