我有一个方法可以测试 Double
的 List
是否包含一些 String
元素。该列表由 Spring 填充。我不知道如何在 JUnit 中使用 String
填充它。
我的方法使用以下代码将 String
转换为 Double
:
// [...]
Obect element = list.get(i); // list is my List<Double>
if(element.getClass() == String.class) {
list.set(i, Double.parseDouble((String) element));
}
最佳答案
如果您有 List<Double>
正如您所说,那么不可能添加 String
到它,所以测试它没有意义。然而,要求并不总是有意义。因此,您的代码几乎是正确的,但是内部有一个错误需要修复(正如您在编写问题时已经知道的那样)。让我们看看更好的代码:
Obect element = list.get(i); // list is my List<Double>
if(element.getClass().equals(String.class)) {
list.set(i, Double.parseDouble((String) element));
}
您需要使用equals
方法而不是 ==
运算符,因为 ==
运算符检查操作数是否相同,但是 getClass
方法创建 Class
的新实例类,根据定义,它与String.class
不同。 。 equals
方法检查两个对象是否相似。如果对象是 String
,它们是相似的.
关于java - 用字符串填充 Double 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70800100/