首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免isInstance语句

避免isInstance语句
EN

Stack Overflow用户
提问于 2016-04-04 11:59:17
回答 1查看 83关注 0票数 3

如何重构此示例以避免需要在每个数据类型中检查isInstance的这种情况?有什么可以遵循的模式吗?

代码语言:javascript
复制
public interface GenericData {}

public interface IntegerData extends GenericData{
    public Integer Data();
}

public interface StringData extends GenericData{
    public String Data();
}

public interface Client {
    public boolean LoadData(GenericData data);
}

public class IntegerClientImpl implements Client{
    public boolean LoadData(GenericData data){
        return IntegerData.class.isInstance(data);
    };
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-04 12:15:14

您可以使用泛型。

代码语言:javascript
复制
public interface Client<Data extends GenericData> {
    public boolean LoadData(Data data);
}

public class IntegerClientImpl implements Client<IntegerData> {
    @Override
    public boolean LoadData(IntegerData data){
        // ...
    }
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36402019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档