java – 避免使用isInstance语句
发布时间:2020-12-15 04:33:19 所属栏目:Java 来源:网络整理
导读:我如何重构这个例子以避免我需要在每种数据类型中检查isInstance的这种情况?我可以遵循任何模式吗? public interface GenericData {}public interface IntegerData extends GenericData{ public Integer Data();}public interface StringData extends Gene
我如何重构这个例子以避免我需要在每种数据类型中检查isInstance的这种情况?我可以遵循任何模式吗?
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); }; } 解决方法
你可以使用泛型
public interface Client<Data extends GenericData> { public boolean LoadData(Data data); } public class IntegerClientImpl implements Client<IntegerData> { @Override public boolean LoadData(IntegerData data){ // ... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |