小编Viv*_*vin的帖子

如何在android studio中验证AndroidManifest.xml?

android studio如何验证AndroidManifest.xml和任何活动xml?我已阅读这个帖子和这个,知道没有为Android清单的实际模式.但android studio或任何验证AndroidManifest.xml的工具如何知道哪些标签和元素合法?

xml android android-manifest android-studio

8
推荐指数
1
解决办法
583
查看次数

Mockito:通缉但未被援引

我有以下测试方法:

MyClass myClass= Mockito.mock(MyClass.class);
Mockito.when(myClass.methodUsedInMethodBeingTested(Matchers.any(MyTypeParam.class))).thenReturn(Collections.<X, Y> emptyMap());

assertNull(myClass.methodToTest(myObject));
Mockito.verify(myClass).methodUsedInMethodBeingTested(Matchers.any(MyTypeParam.class));
Run Code Online (Sandbox Code Playgroud)

methodUsedInMethodBeingTested是一个我想模拟并返回空地图的方法.但是我收到了失败的消息

想要但没有调用myClass.methodUsedInMethodBeingTested()

.

MyClass
{
   public XYZ methodToTest()
   {
    ....
    ....
    Map<X,Y> mp = methodUsedInMethodBeingTested(myTypeParam);
    .....
   }

   public Map<X,Y> methodUsedInMethodBeingTested(MyTypeParam myTypeParam)
   {
    .....
   }
}
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito

7
推荐指数
1
解决办法
2万
查看次数

警告:类型参数E在使用内部类时隐藏类型E.

我正在编写一个堆栈,一个带有静态节点和其他非静态节点.

public class Stack<E> implements Iterable<E>
{
    private int N;
    private Node<E> first;

    private static class Node<E>    // This works fine.
    {
        private E item;
        private Node<E> next;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使Node非静态时,它会给我这个警告"类型参数E隐藏了类型E"

public class Stack<E> implements Iterable<E>
{
    private int N;
    private Node<E> first;

    private class Node<E>    // This shows warning.
    {
        private E item;
        private Node<E> next;
    }
}
Run Code Online (Sandbox Code Playgroud)

我告诉我一点理解,因为静态memeber是类的成员所以它不会给我一个警告但是当我使它成为非静态时它属于实例.但这不是一个明确的想法.

java generics static

6
推荐指数
1
解决办法
1656
查看次数

@RunWith(MockitoJUnitRunner.class) 不初始化模拟

我正在使用 Junit 4.8.2。当我@RunWith(MockitoJUnitRunner.class)使用 @Mock运行我的测试类并仅使用 @Mock 注释模拟时,它似乎没有初始化模拟。但是当我使用静态 mock() 并去掉 runner 和 annotations 时,我可以看到 mocks 已初始化。

@RunWith(MockitoJUnitRunner.class)
public class MyTestClass
{
    private static final String DOMAIN = "mock";

    @Mock private TransactionManager transactionManager;
    @Mock private SearchManager searchManager;

    private final filter = new Filter(transactionManager,searchManager, DOMAIN);

    @Test
    public void myTest()
    {
        filter.callMethod();      // This throws NPE since transactionManager was null
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?我已经研究了这个Initialising mock objects - MockIto并根据它做了一切,但仍然没有运气。

java junit unit-testing mockito

4
推荐指数
1
解决办法
6843
查看次数

查找内存有限的重复元素

以下是 Cracking the coding interview 中的一个问题:

您有一个包含从 1 到 N 的所有数字的数组,其中 N 最多为 32,000。数组可能有重复的条目,而您不知道 N 是什么。只有 4KB 的内存可用,您将如何打印数组中的所有重复元素?

方法签名是

public static void checkDuplicates(int[] array)
Run Code Online (Sandbox Code Playgroud)

然后解决方案解释了如何使用位向量通过将每个整数表示为一个位来解决这个问题。我的困惑是当我们运行这个方法时,它不会在内存中加载整个数组来循环遍历它吗?现在,如果array大小说,例如,10 亿(许多重复元素)该程序不会失败,因为它将整个数组加载到内存中,而我们拥有的内存是32 * 2^10位?

java memory arrays scalability

4
推荐指数
1
解决办法
1212
查看次数