小编Abi*_*idi的帖子

为什么Mockito没有模拟静态方法?

我在这里读了几个关于静态方法的线程,我想我明白了误用/过度使用静态方法会导致的问题.但我并没有真正了解为什么很难模拟静态方法.

我知道其他嘲笑框架,如PowerMock,可以做到这一点,但为什么不能Mockito?

我读过这篇文章,但作者似乎在虔诚地反对这个词static,也许这是我理解不足的原因.

一个简单的解释/链接将是伟大的.

java methods static mockito

252
推荐指数
5
解决办法
17万
查看次数

Java泛型T vs Object

我想知道以下两个方法声明之间的区别是什么:

public Object doSomething(Object obj) {....}

public <T> T doSomething(T t) {....}
Run Code Online (Sandbox Code Playgroud)

有什么东西可以/可以用一个而不是另一个吗?我在本网站的其他地方找不到这个问题.

java generics

116
推荐指数
3
解决办法
6万
查看次数

来自分支的Mercurial克隆

我们有一个包含三个命名分支的存储库,我想克隆其中一个分支.这样做是否有一个善变的命令?如果我提供hg克隆的路径(分支)我得到404错误.

mercurial branch clone

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

两个具有相同哈希码的Java对象不一定相等吗?

我理解为什么为两个相等(通过equals)对象提供相同的哈希码很重要.但反过来也是如此,如果两个对象具有相同的哈希码,它们必须相等吗?合同是否仍然有效?我无法找到可能发生这种情况的示例,因为如果所有参与equals方法的属性也被用于覆盖hashcode方法,那么我们将始终使用相同的对象的哈希码.请评论.

java hashcode

16
推荐指数
3
解决办法
4万
查看次数

仅在pom.xml中的版本标记上进行Git合并冲突

有没有办法在将master合并到分支时避免pom.xml中版本标记中的合并冲突.我有很多pom文件,80,并且它们都有相同的版本,与master中的版本不同.仅为版本标签执行80个pom文件的git mergetool是费力且耗时的.

谢谢,-Abidi

git git-merge pom.xml merge-conflict-resolution git-merge-conflict

16
推荐指数
2
解决办法
9711
查看次数

Mercurial Patch创建和使用

我遇到了一个问题,我"认为"只能使用补丁来解决.

我从我们的主存储库克隆了一个项目,对它进行了一些更改(更新,删除文件和目录以及添加).甚至没有提交这些更改.问题是,来自主存储库的项目已被删除/删除并重新创建为一个新项目(名称相同,所有目录结构都与以前相同).我再次从主存储库克隆了该项目,并希望将所有未提交的更改传输给它.

我仍在探索hg patch解决这个问题.如果有人能够确认创建和添加补丁是正确的方法,那将会有所帮助,任何解释该过程的资源都会有很大的帮助.

mercurial patch

13
推荐指数
3
解决办法
2万
查看次数

Google Guice:带参数的提供商

我有一个依赖于类A和B的构造函数.我这样定义它:

@Inject TestClass(A a, B b)
Run Code Online (Sandbox Code Playgroud)

在Guice中有一种方法可以手动注入一个构造函数参数吗?

问题是,类的对象A无法构建,因为它取决于用户输入.我只是想知道Guice是否支持接受参数的提供者.例如,目前可以创建一个对象provider.get(),Guice是否有一个支持provider.get(a)

java dependency-injection guice

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

Subversion将未提交的更改提交给新分支

我应该从一个分支开始,但决定在trunk上工作,现在我想创建一个分支并将我未提交的更改提交到该分支而不是trunk.

在svn中有一个简单的方法吗?

svn branch

12
推荐指数
1
解决办法
2289
查看次数

更新Java HashMap密钥

我只是想知道,如果a的密钥HashMap是可变的,下面的测试程序会证明这一点会发生什么,而我无法理解当equals和hashCodemethods返回true和相同的值时,为什么会hashmap.containsKey返回false.

public class MutableKeyHashMap {

    public static void main(String []a){

            HashMap<Mutable, String> map = new HashMap<Mutable, String>();
            Mutable m1 = new Mutable(5);
            map.put(m1, "m1");
            Mutable m2 = new Mutable(5);
            System.out.println(map.containsKey(m2));    

            m2.setA(6);
            m1.setA(6);
            Mutable m3 = map.keySet().iterator().next();

            System.out.println(map.containsKey(m2)+"    "+m3.hashCode()+"       "+m2.hashCode()+"       "+m3.equals(m2));   

    }
}
class Mutable {

    int a;

    public Mutable(int a) {

        this.a = a;
    }

    @Override
    public boolean equals(Object obj) {

        Mutable m = (Mutable) obj;
        return m.a == this.a ? true …
Run Code Online (Sandbox Code Playgroud)

java equals hashmap hashcode

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

YYYY-MM-DDThh的Java SimpleDateFormat:mm:ssTZD

我们使用的外部API之一需要

"YYYY-MM-DDThh:mm:ssTZD"

要传入的格式

XMLGregorianCalendar

宾语.我不确定Java中是否有任何支持"T".我想知道,如果日期可以在Java中解析成上述格式吗?他们提供的有效日期的一个例子是

"2009-07-16T19:20:30-05:00"............

 Update:

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZ");        
        GregorianCalendar gc = new GregorianCalendar();
        String dateString = sdf.format(gc.getTime());       
        gc.setTime(sdf.parse(dateString));      
        XMLGregorianCalendar date2 = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
Run Code Online (Sandbox Code Playgroud)

输出:

2014-04-17T13:11:30.000 + 01:00

java date

8
推荐指数
4
解决办法
7万
查看次数