问题内容: 可以在本地运行JAR文件。下一步是在另一台PC上运行它。 问题是运行JAR文件是否需要JRE,JDK或两者都需要? 问题答案: JDK包含JRE。 大多数程序仅需要JRE(Java运行时环境),但是某些程序在运行时需要编译器,在这种情况下,您需要JDK。 如果您拥有JDK,则也不需要JRE。
问题内容: 我正在尝试使用gradle通过以下命令运行测试,但无法正常工作 我的测试套件如下所示 尝试运行以下命令的方法有效,但更糟糕的是,它每次运行两次测试。一次,然后再次在相同名称空间的测试套件下 我可以删除测试套件并以这种方式进行操作,但是我想更好地了解这里发生了什么以及为什么我不能告诉它直接运行测试套件。 问题答案: 以下为我在本地工作。 与所使用的更高级的过滤方法相比,这实际上使用了不同
问题内容: 给定以下两个类定义: 考虑以下类型声明: 在JDK-8u45编译没有问题,但是如果我们考察了采集转换规范,它出现(我)这个声明 应该 导致编译时错误。 特别是,新型变量捕获的上限由给出,在这种情况下,解析为通配符边界,解析为。 由此,解析为交集类型,这是无效的,因为和都是类类型,而不是接口类型,但是它们中的任何一个都不是另一个的子类型。 在相交类型本身的定义中,这种(明显的)违反规则的
问题内容: 我有大量数据,并且想要调用缓慢但干净的方法,而不是调用带有第一个结果的副作用的快速方法。我对中间结果不感兴趣,所以我不想收集它们。 明显的解决方案是创建并行流,进行慢速调用,再次使流顺序进行,然后进行快速调用。问题是,所有代码都在单个线程中执行,没有实际的并行性。 示例代码: 如果我删除,代码将按预期执行,但是很明显,非并行操作将在多个线程中调用。 您能推荐一些有关这种行为的参考,或者
问题内容: 我想使用Mockito测试具有增强功能的Java方法。问题是,当我不知道如何设定增强功能的期望时。以下代码是从嘲笑谷歌组中的一个未解决的问题得到的: for循环内的代码永远不会执行。为迭代器设置期望值不起作用,因为for的Java增强功能在内部未使用列表迭代器。为方法设置期望也不会,因为增强的实现似乎也不会调用列表的方法。 任何帮助都感激不尽。 问题答案: 模拟迭代器对我有用。参见下面
问题内容: 我在GregorianCalendar类中遇到一个奇怪的行为,我想知道我是否真的做得不好。 仅当初始化日期的月份的实际Maximum大于我将日历设置为的月份时,才追加此值。 这是示例代码: 我知道问题是由于日历初始化日期是31天(可能是5月),与设置为2月(28天)的月份混淆了。修复很容易(只需在设置年和月之前将day_of_month设置为1),但是我想知道这确实是想要的行为。有什么
问题内容: 我有一个如下的枚举类: 在我的代码后面,我基本上遍历了Letter枚举,并将其成员打印到控制台: 我认为值()方法会给我的枚举的有序视图(如提到这里),但这里不是这种情况。我只是按照在Letter枚举类中创建它们的顺序来获得枚举成员。有没有一种方法可以按字母顺序输出枚举的值?我需要一个单独的比较器对象,还是有内置的方法来执行此操作?基本上,我希望根据getDescription()文本
问题内容: 假设我有一个void方法,该方法只对对象进行转换而没有返回任何值,并且我想在流map()函数的上下文中使用它,如下所示: 该示例是为了简单起见而构成的-实际方法除了在处理对象的UUID之外,还在做其他事情。 无论如何,在上述情况下如何使用void方法?当然,我可以使该方法返回转换后的对象,但这不重要,并且违反了设计(该方法应为空)。 问题答案: 似乎是强制使用Java 8流的情况。相反
问题内容: 我正在尝试排序(减少)整数数组,但要跟踪原始索引。 我的意思是,例如,如果我有这个数组: 使用Arrays.sort(b,Collections.reverseOrder())之后变成(我使用Arrays.sort,因为在此示例中b的长度仅为5,但是在我的问题中b的长度可能是1 <b.length <70 但我想以某种方式拥有原始索引,我的意思是知道 我不知道我的问题是否明确,请向我询
问题内容: 我有以下JSON: 当日期每次更改时,我该如何解析呢?我必须使用Jackson进行解析。 问题答案: 当您具有 动态键时 ,可以使用。键的类型和值取决于您的需要。 最简单的方法是。您需要为此: 假设您的密钥是 有效日期 ,则可以使用。 需要以下依赖项: 然后您可以拥有: 最后,您可以将动态键的值映射到Java类。让我们称之为: 然后您可以拥有:
问题内容: 我读的是一篇文章,实际上是关于双重检查锁定的,但是我为示例中出现的代码中的一个更基本的失败而感到惊讶。在那里声明,实例的初始化(即,在构造函数返回之前发生的实例变量的写入)可能在将实例的引用写入共享变量 之后 重新排序(实例中的静态字段)。以下示例)。 使用以下定义的class ,在执行一个线程而执行另一个线程时,是否可以打印第二个线程(而不是抛出),是否正确? 从我对Java内存模型
问题内容: 我知道这有点天真。如何在不提供物理文件作为输入的情况下对这段代码进行单元测试。我是模仿和单元测试的新手。所以我不确定。请帮忙。 问题答案: 您可能应该重构您的方法。如您所知,将文件作为输入的方法很难测试。另外,它似乎是静态的,这对可测试性没有帮助。如果您将方法重写为: 测试起来会容易得多。您将业务逻辑与读取文件的技术分开。据我了解,您的业务逻辑正在读取数据流并确保行尾为unix样式。
问题内容: 有没有办法以编程方式对JTable进行排序? 我的JTable排序工作正常(使用setRowSorter),以便当用户按任意列时,表将被排序。 我知道,SWingX JXTable可能可以工作,但我不想麻烦,因为其他所有事情现在都可以正常工作,而且我不知道NetBeans的可视化编辑器如何处理JXTable等。 编辑: 选定的答案是指我的声明(现已删除),该声明对Sun的页面的答案不起
问题内容: 好的,我知道这个问题以前已经被问过很多次了,但是我已经搜索了一下,查看了示例,并查看了过去一个月中关于SO的问题,我真的无法解决这个问题。我认为问题是我希望能够从Eclipse和命令行运行该程序。我也在使用OSX,我认为我正在阅读的许多示例都是针对Windows / Linux的。 如果我有一个要在命令行中运行的,在Eclipse中编译的简单程序,请执行以下操作: 我有另一个程序在Ec
问题内容: 我正在测试一个应用程序,该应用程序从邮箱中取出邮件,根据该邮件的内容执行一些操作,然后根据操作结果发送响应邮件。 我正在寻找一种为该应用程序编写测试的方法。理想情况下,我希望这些测试能够启动自己的邮件服务器,将测试电子邮件推送到该邮件服务器上的文件夹中,并让我的应用程序将邮件从测试开始的邮件服务器中删除。 配置应用程序以使用邮件服务器并不困难,但是我不知道在哪里寻找在Java中启动邮件