消除未经检查的警告:将String转换为T

sk2*_*212 0 java generics casting

以下方法返回带有动态类型参数的列表:

public List<T> getDataList() throws SQLException {
  List<T> l = new ArrayList<T>();
  l.add((T) "Test");
  return l;
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个未经检查的投射警告.

如果我将代码更改为:

public List<T> getDataList() throws SQLException {
  List<String> l = new ArrayList<String>();
  l.add("Test");
  (List<T>) return l;
}
Run Code Online (Sandbox Code Playgroud)

它几乎是一样的.我得到一个未经检查的投射警告.

题:

是否可以在不失去getDataList方法灵活性的情况下消除此未经检查的警告?

Joo*_*gen 6

public MyClass implements DataListInterface<String>
Run Code Online (Sandbox Code Playgroud)