相关疑难解决方法(0)

Java中的等于vs Arrays.equals

在比较Java中的数组时,以下两个语句之间是否有任何区别?

array1.equals(array2);
Arrays.equals(array1, array2);
Run Code Online (Sandbox Code Playgroud)

如果是这样,他们是什么?

java arrays equality

202
推荐指数
5
解决办法
16万
查看次数

如何正确匹配Mockito中的varargs

我一直试图使用Mockito模拟一个使用vararg参数的方法:

interface A {
  B b(int x, int y, C... c);
}

A a = mock(A.class);
B b = mock(B.class);

when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b);
assertEquals(b, a.b(1, 2));
Run Code Online (Sandbox Code Playgroud)

这不起作用,但是如果我这样做:

when(a.b(anyInt(), anyInt())).thenReturn(b);
assertEquals(b, a.b(1, 2));
Run Code Online (Sandbox Code Playgroud)

尽管我在删除方法时完全省略了varargs参数,但这仍然有效.

有线索吗?

java mocking variadic-functions mockito

142
推荐指数
4
解决办法
5万
查看次数

如何在 mockito 2 中匹配可变参数?

更新到 2.3 后,来自mockito 1 的方法不起作用。

private class ArgumentsMatcher implements ArgumentMatcher<Object[]> {
    private final Object[] expected;

    private ArgumentsMatcher(Object[] expected) {
        this.expected = expected;
    }

    @Override
    public boolean matches(Object[] argument) {
        return Arrays.equals(expected, argument);
    }
}
Run Code Online (Sandbox Code Playgroud)

mockito

3
推荐指数
1
解决办法
2882
查看次数

标签 统计

java ×2

mockito ×2

arrays ×1

equality ×1

mocking ×1

variadic-functions ×1