我想在我的一个项目中定义通用静态方法。要求是将方法返回类型作为方法参数之一。
以下是我的解决方案。
public static <T> List<T> convertMapToAttribute(Class<T> attrClass, T attr) {
List<T> list = null;
if (attrClass.equals(String.class)) {
list = (List<T>) new ArrayList<String>();
list.add(attr);
} else if (attrClass.equals(Integer.class)) {
list = (List<T>)new ArrayList<Integer>();
list.add(attr);
}
return list;
}
我有两个问题。
- 我们可以在不添加@SuppressWarnings("unchecked") 的情况下避免这种警告“警告:[unchecked] unchecked cast”吗?
- 有没有其他优雅的方法来解决上述问题