问题内容: 我经常发现自己需要过滤a 或使用谓词来检查给定字段是否具有给定值。 比如说我有这个POJO: 我想根据的值过滤对象的: 是否会有一种方便的方法来为该方法生成谓词?我注意到有,但不符合需要。 我可以很容易地这样写: 并将其用作: 但我希望尽可能重用JDK中的现有方法。 问题答案: 没有内置的工厂方法,您可以通过查看JFC中的所有用法并查找“ …中返回谓词的方法” 来轻松检查。除了自身内部
问题内容: 我收到“ 查找错误” 错误- 调用静态java.text.DateFormat方法, 并且我不知道为什么在下面做这些事情不好/不建议这样做的原因。 问题答案: DateFormat不是线程安全的,这意味着它们维护状态的内部表示。如果多个线程同时访问同一实例,则在静态上下文中使用它们会产生一些非常奇怪的错误。 我的建议是使变量在使用变量的位置本地化,而不是使它们成为类的静态属性。初始化类
问题内容: 当我阅读 Effective Java时 ,作者告诉我,单元素类型是实现单例的最佳方法,因为我们不必考虑复杂的序列化或反射攻击。这意味着我们无法创建使用反射的实例,对吗? 我已经做了一些测试,并在这里上课: 然后我尝试创建一个实例: 如您所知,它不起作用。当我更改关键字来,它的工作原理。我想知道为什么。谢谢。 问题答案: 这是语言内置的。根据Java语言规范(§8.9): 尝试显式实例
问题内容: 我有从maven log4j2运行时可以运行的应用程序: 但是当我将jar作为独立应用程序运行时,它显示错误: 日志: 我不明白这个错误。它显示未找到log4j2配置文件,但还抱怨配置文件中可能存在某种格式 我的配置是: 它位于jar文件的根目录中。 更新 jar由maven shade插件创建: 因此它包含所有必需的库(大约23 MB),当我运行这个jar时,我只需要指定参数 问题答
问题内容: 我想做的是这样的: Eclipse中给了我这个编译错误的:。 当我将类设为静态时,该错误消失。我可以使static,但我不明白为什么我不能在内部类中声明一个。 问题答案: 定义为嵌套类型的类型始终是隐式的(请参见JLS§8.9。Enums) 您不能在非静态类型(也就是“内部类”,请参见JLS§8.1.3。内部类和封闭实例)中拥有静态嵌套类型。 因此,您不能在非静态嵌套类型中包含内部类型
问题内容: 我意识到我的一个项目使用slf4j 1.5.8,而Hibernate使用slf4j 1.6。在使用Maven进行构建时,它会下载两个jar,但是我猜想使用了1.5.8的类文件。因此,当我运行程序时,出现以下错误: 在我把 1.5.8是依赖项的一部分,因此可以单独下载。 问题答案: 您发现自己时,有两个库(Hibernate和其他一些库)以两个不同的版本可传递地导入SLF4J。不幸的是,
问题内容: 我有一个没有默认构造函数的类。我需要一种获取此类的“空白”实例的方法。“空白”表示实例化之后,所有类字段均应具有默认值,例如null,0等。 我问是因为我需要能够序列化/理想化大对象树。而且我无法访问此对象类的源,并且类既没有默认构造函数,也没有实现可序列化的类。尝试序列化这种结构可能不是一个很好的主意,但替代方法是将其转换为更易于序列化的内容。 问题答案: 使用标准反射时,不需要,但
问题内容: 我将所有值都放在一个表中,并按照要求进行格式化。我必须根据页面顶部下拉菜单中的用户选择来更改网站上的语言。 如果我使用语言代码,例如,则可以正常工作。如果我将其用作语言代码,则无法使用。可能是什么问题?哪个是正确的方法? 问题答案: “ en”是ISO 639指定的语言代码,而US是3166指定的国家代码。 在Java中,Locale对象将语言识别为 languageCode_coun
问题内容: 一般来说,我刚接触Java和Android编程,但是我想创建一个小型Java库,以便在普通(非Android)Java应用程序和Android应用程序之间共享一些代码;所以我的问题是用Eclipse创建普通Java库的最佳方法是什么? 我在任何地方都找不到从Eclipse创建新的Java库项目的选项。这是否意味着我必须使用普通的Java应用程序作为起点?因为这也将用于普通的Java应用
问题内容: 我有一个接受File作为参数的函数。我不想创建/写入新文件(我没有对文件系统的写访问权)以便将字符串数据传递给该函数。我应该补充说字符串数据在文件中不存在(所以我无法从文件中读取数据)。 我可以使用流并将其“广播”到文件对象吗? 问题答案: 没有; 类的实例表示文件系统中的路径。因此,您只能将该功能与文件一起使用。但是,也许有一个过载需要替代?
问题内容: 我的老师给我一个问题: “用Java创建对象时会发生什么”。 据我所知,创建对象时会发生内存分配,变量初始化和构造函数方法调用。 但是我的老师说我几乎是对的。后面的两件事是正确的,除了内存堆。相反,他说发生了内存分配。我认为对象存储在堆中,所以我的老师错了。你这样认为吗? 问题答案: 与往常一样,找到针对此类问题的解决方案的最佳位置是Java语言规范。 具体来说,从创建新实例的部分可以
问题内容: 我想创建一个包含其他JAR库的可执行JAR文件。但是当我执行JAR时,它给出了类路径问题的错误。 我该如何解决类路径问题? 问题答案: 我想您可以这样尝试; 这是一个简单的示例供您提问。首先,假设我们有一个项目目录,例如。然后,在此工作目录中创建一个主类 HelloWorld.java ,其中包含其他JAR文件,例如。现在,我们必须将主类HelloWorld和commons-lang.
问题内容: 我的任务如下: 从我创建的密钥库中检索我的公钥和私钥。 使用这些密钥可以使用我的RSA 2048位公共密钥对段落进行加密。 使用DSA-SHA-1签名算法对结果进行数字签名。 将数字签名输出保存到名为的文件中。 下面的程序引发错误:“ java.security.InvalidKeyException:没有安装的提供程序支持此密钥:sun.security.provider.DSAPu
问题内容: 抱歉,如果我问一个愚蠢的问题,我正在尝试使用Java构建学习openCV。在opencv示例中,我发现在c ++中有方法imshow或在python中有showImage,但是我在opencv Java API中进行搜索,但找不到imshow方法。 使用Java构建的opencv中的imshow()和waitKey()的相等方法是什么? 问题答案: 尚无Java highgui包装器(
问题内容: 您更喜欢哪种机制来构建GUI:从头开始还是使用GUI生成软件? 问题答案: 我实际上很喜欢使用NetBeans GUI Builder构建GUI。事实是,它是相当可定制的- 它允许您更改用于自动生成的代码和自动生成的代码(无双关语)(这对于自定义组件是必需的),它还允许“简单”的事件处理和约束力。NetBeans GUI Builder不限于GroupLayout,而是允许您选择要使用