相关疑难解决方法(0)

如何使用JUnit,EasyMock或PowerMock模拟静态最终变量

我想嘲笑使用JUnit,EasyMock的或PowerMock静态final变量以及模拟一个国际化类.我怎么做?

java junit unit-testing easymock powermock

25
推荐指数
2
解决办法
5万
查看次数

导入的java类中的public static final变量

我碰巧在我的工作场所遇到过Java代码.这是场景:有两个类 - ClassA和ClassB.

ClassA除了4个公共静态最终字符串值之外什么都没有.它的目的是使用那些值ClassA.variable(不要问我为什么,这不是我的代码).

ClassB进口ClassA.我编辑了字符串值ClassA并对其进行了编译.当我跑步时,ClassB我可以看到它使用的是旧值 - 而不是新值.我必须重新编译ClassB才能使用新的值ClassA!(我不得不重新编译其他导入的类ClassA!)

这只是因为JDK 1.6或我之前应该知道重新编译的ClassB!开导我.:)

java static final public recompile

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

奇怪的'out'变量,System.out.println()

以下是java.lang.System类中的代码(JDK版本1.6)

public final static PrintStream out = nullPrintStream(); //out is set to 'null'

private static PrintStream nullPrintStream() throws NullPointerException {
    if (currentTimeMillis() > 0) {
        return null;
    }
    throw new NullPointerException();
}
Run Code Online (Sandbox Code Playgroud)

当我们System.out.println("Something");在代码中写入时,为什么即使'out'设置为'null'也不会得到NullPointerException

无论如何out将通过setOutSystem类中的以下方法设置

public static void setOut(PrintStream out) {
     checkIO();
     setOut0(out);
 }
Run Code Online (Sandbox Code Playgroud)

Theyn为什么JLS需要nullPrintStream方法?

java nullpointerexception

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