如果我不把它放在一个子类的构造函数中,这不是由编译器自动放置的吗? 那意味着我甚至不需要关心它呢? 在一些文章中,他们把它拿出来了。 如果我有一个带参数的构造函数,这会是构造函数还是需要一个没有参数列表的构造函数?
我正在玩新的Java 7 IOfunction,实际上我试图接收所有文件夹的XML文件。 但是当文件夹不存在时会抛出一个exception,如何检查文件夹是否与新IO一起存在? public UpdateHandler(String release) { log.info("searching for configuration files in folder " + release); Path releaseFolder = Paths.get(release); try(DirectoryStream<Path> stream = Files.newDirectoryStream(releaseFolder, "*.xml")){ for (Path entry: stream){ log.info("working on file " + entry.getFileName()); } } catch (IOException e){ log.error("error while retrieving update configuration files " + e.getMessage()); } }
所以,我创build一个模拟对象作为类级别的静态variables像这样…在一个testing中,我希望Foo.someMethod()返回一个特定的值,而在另一个testing中,我希望它返回一个不同的价值。 我遇到的问题是,似乎我需要重build模拟,以使其正常工作。 我想避免重build模拟,并在每个testing中使用相同的对象。 class TestClass { private static Foo mockFoo; @BeforeClass public static void setUp() { mockFoo = mock(Foo.class); } @Test public void test1() { when(mockFoo.someMethod()).thenReturn(0); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls mockFoo.someMethod(), receiving 0 as the value } @Test public void test2() { when(mockFoo.someMethod()).thenReturn(1); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls […]
我有一个使用Java 7编写的旧应用程序。它在Java 8 JRE中运行良好。 我不打算重写任何代码来使用Java 8function。 将编译代码升级到最新的Java 8 JDK是否有任何技术优势? 清楚的是,这些代码目前使用Java 7进行编译,并且已经与最新的Java 8 JRE一起运行。 它应该已经从Java 8运行时改进中受益。 这个问题是通过编译版本8并使用Java 8编译的字节码运行是否会有好处。 另外,我不关心开发人员的生产力等非技术性好处。 我认为这些是重要的,但不是这个问题的重点。 我要求的是没有开发团队的生产代码。 纯粹处于维护模式。
我有一个类,每个方法都以相同的方式开始: class Foo { public void bar() { if (!fooIsEnabled) return; //… } public void baz() { if (!fooIsEnabled) return; //… } public void bat() { if (!fooIsEnabled) return; //… } } 有没有一种很好的方法来要求(并希望不要每次都写) fooIsEnabled部分中的每个公共方法?
我需要一个像Map一样的数据结构,但是使用多个(不同types的)键来访问它的值。 (让我们不要太笼统,让我们说两个键) 密钥保证是唯一的。 就像是: MyMap<K1,K2,V> … 使用如下方法: getByKey1(K1 key)… getByKey2(K2 key)… containsKey1(K1 key)… containsKey2(K2 key)… 你有什么build议吗? 我能想到的唯一的事情是: 写一个内部使用两个地图的类。 编辑有些人build议我使用一个元组 ,一对或类似的Java的地图的关键,但这不适合我: 如上所述,我必须能够仅通过指定的两个键中的一个来search值。 地图使用密钥的哈希码并检查其相等性。
我在我的项目中configuration了checkstylevalidation规则,禁止使用多于3个input参数定义类方法。 这个规则适用于我的课程,但是有时我需要扩展不遵守这个特定规则的第三方课程。 有没有可能指示“checkstyle”某个方法应该被忽略? 顺便说一下,我结束了自己的checkstyle包装: qulice.com (请参阅Java代码质量的严格控制 )
为了进行unit testing,如何使用本地文件创build新的URL对象? 谢谢。
java中是否有一个标记跳过了for循环的其余部分? 就像VB的继续在Java中。
在Java中build立链表的最好方法是什么?