好吧,我今天的问题是:
我有一个带有文件头的枚举。
我有一个将这些标题导出为字符串的函数
运行多个项目,我想使其在我们的私有库中通用。
当前功能:
private static String getHeaders() {
StringBuilder sb = new StringBuilder();
for(HeadersEnum header : HeadersEnum.values()){
sb.append(header.getExportLib());
}
return sb.toString();
}
目标是这样的:
private static String getHeaders(ExportableCSV<Enum<T>> data) {
StringBuilder sb = new StringBuilder();
for( ExportableCSV<Enum> header : data.values()){
sb.append(header.getExportLib());
}
return sb.toString();
}
我知道我们无法使用Enum进行继承,所以我创建了一个接口“ ExportableCSV”:
public interface ExportableCSV<T extends Enum<T>> {
public static final String exportLib = "";
public static String getExportLib() {
return exportLib;
}
}
这是很基本的,但是在我看来,任何实现此ExportableCSV的枚举都应该可以访问我的exportLib()函数。
public enum HeadersEnum implements ExportableCSV<HeadersEnum>{
foo("foo;"),
bar("bar;");
private String exportLib; 当然,我对通用函数的目标方法不是编译,并且我不是很了解我能做什么和不能做什么。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。