未经检查的转换 'java.lang.object' 到 'java.util.list '
unchecked cast 'java.lang.object' to 'java.util.list '
@DataProvider
public Iterator<Object[]> validLogin() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(new File("src/test/java/resources/UserData/login.xml")));
String xml = "";
String line = reader.readLine();
while (line != null) {
xml += line;
line = reader.readLine();
}
XStream xStream = new XStream();
xStream.processAnnotations(User.class);
List<User> users = (List<User>) xStream.fromXML(xml);
return users.stream().map((g) -> new Object[]{g}).collect(Collectors.toList()).iterator();
}
我看到这个警告
unchecked cast 'java.lang.object' to 'java.util.list '
在
List<User> users = (List<User>) xStream.fromXML(xml) ;
我怎样才能避免它们?
在您的示例中,看起来您不需要将其设为 List<User>
,因此您可以
List<?> users = (List<?>) xStream.fromXML(xml);
如果确实需要输入,则无法避免警告。如果您确信类型正确,请使用 @SuppressWarnings("unchecked")
。如果有疑问,请编写一些代码来断言所有元素确实都是正确的类型(我希望 JDK 有一个辅助方法)。
@DataProvider
public Iterator<Object[]> validLogin() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(new File("src/test/java/resources/UserData/login.xml")));
String xml = "";
String line = reader.readLine();
while (line != null) {
xml += line;
line = reader.readLine();
}
XStream xStream = new XStream();
xStream.processAnnotations(User.class);
List<User> users = (List<User>) xStream.fromXML(xml);
return users.stream().map((g) -> new Object[]{g}).collect(Collectors.toList()).iterator();
}
我看到这个警告
unchecked cast 'java.lang.object' to 'java.util.list '
在
List<User> users = (List<User>) xStream.fromXML(xml) ;
我怎样才能避免它们?
在您的示例中,看起来您不需要将其设为 List<User>
,因此您可以
List<?> users = (List<?>) xStream.fromXML(xml);
如果确实需要输入,则无法避免警告。如果您确信类型正确,请使用 @SuppressWarnings("unchecked")
。如果有疑问,请编写一些代码来断言所有元素确实都是正确的类型(我希望 JDK 有一个辅助方法)。