gpt4 book ai didi

java - 测试通用 Java 方法时出错

转载 作者:行者123 更新时间:2023-12-02 08:12:21 24 4
gpt4 key购买 nike

我正在学习有关 java 中泛型方法的教程,并且想要为涉及泛型类型的方法编写单元测试。但它给了我错误 assertEquals 的模糊方法调用

我尝试搜索此错误,但到目前为止没有运气。我在下面发布我的 java 和测试类

GenericMethods.java

public class GenericMethods {

public <E> void printArray(E[] inputArray){
//Display Array Elements
List<E> values = Arrays.asList(inputArray);
values.stream()
.forEach(System.out::print);
}

public <T extends Comparable<T>> T returnMax(T x, T y, T z){
T max = x; //Initially assume the firs element is max

if(y.compareTo(max) > 0){
max = y;
}

if(z.compareTo(max) > 0){
max = z;
}

return max;
}
}

GenericMethodsTest.java

public class GenericMethodsTest {

GenericMethods genericMethods;
@Before
public void setUp() throws Exception {
genericMethods = new GenericMethods();
}

@Test
public <T> void shouldReturnCorrectMaximum() throws Exception {
assertEquals(5,genericMethods.returnMax(3,4,5));

}
}

最佳答案

这是因为assertEquals同时接受(Object, Object)和(long, long)。尝试将其更改为

assertEquals(new Integer(5), genericMethods.returnMax(3,4,5));

关于java - 测试通用 Java 方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41657789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com