Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

5
如何检查FreeMarker模板中是否存在变量?
我有一个Freemarker模板,其中包含一堆占位符,在处理模板时会为其提供值。如果要提供userName变量,我想有条件地包括模板的一部分,例如: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] 但是,FreeMarker手册似乎表明if_exists已过时,但是我找不到其他方法来实现这一目标。当然,我可以简单地提供一个额外的布尔变量isUserName,并像这样使用它: [#if isUserName] Hi ${userName}, How are you? [/#if] 但是,如果有一种方法可以检查userName是否存在,那么我可以避免添加此额外变量。

1
创建一个数组列表数组
我想要创建一个arraylist数组,如下所示: ArrayList<Individual>[] group = new ArrayList<Individual>()[4] 但是它没有编译。我怎样才能做到这一点?
175 java  arrays  arraylist 

9
在运行时获取Maven工件版本
我注意到在Maven工件的JAR中,project.version属性包含在两个文件中: META-INF/maven/${groupId}/${artifactId}/pom.properties META-INF/maven/${groupId}/${artifactId}/pom.xml 是否有建议的方式在运行时读取此版本?
175 java  maven-2 

13
Integer.toString(int i)与String.valueOf(int i)
我想知道为什么该方法String.valueOf(int i)存在?我正在使用此方法转换int为String并发现了该Integer.toString(int i)方法。 看完这些方法的实现后,我看到第一个正在调用第二个。结果,我所有的String.valueOf(int i)通话都比直接通话多了一个电话Integer.toString(int i)
175 java 


2
Java SafeVarargs批注,是否存在标准或最佳实践?
我最近遇到了Java @SafeVarargs批注。搜寻是什么使Java中的可变参数功能不安全,这让我感到很困惑(堆中毒?已删除类型?),所以我想知道一些事情: 是什么使可变参数Java函数在@SafeVarargs某种意义上不安全(最好以深入示例的形式进行解释)? 为什么注释留给程序员自己决定?这不是编译器应该能够检查的东西吗? 是否必须遵循一些标准以确保其功能确实是安全的?如果没有,有哪些最佳实践来确保呢?


19
访问限制:类型“应用程序”不是API(对所需库rt.jar的限制)
这是代码: package mscontroller; import javax.swing.*; import com.apple.eawt.Application; public class Main { public static void main(String[] args) { Application app = new Application(); app.setEnabledAboutMenu(true); AMEListener listener = new AMEListener(); app.addApplicationListener(listener); JFrame mainFrame = new JFrame("Application Menu Example"); mainFrame.setSize(500, 500); mainFrame.setVisible(true); } } 这是错误: Exception in thread "main" java.lang.Error: Unresolved compilation problems: …
175 java  eclipse  macos  jar 


9
Java:深度克隆/复制实例的推荐解决方案
我想知道是否有推荐的方法可以在Java中进行实例的深层克隆/复制。 我有3个解决方案,但我可能会想念一些,我想征求您的意见 编辑:包括Bohzo命题,并提炼问题:更多是关于深克隆而不是浅克隆。 自己做: 在属性之后手动编写克隆代码,并检查是否也克隆了可变实例。 优点: -控制要执行的操作 -快速执行 缺点: -繁琐的编写和维护 -容易出错(复制/粘贴失败,缺少属性,重新分配的可变属性) 使用反射: 使用您自己的反射工具或外部帮助程序(例如jakarta common-beans),可以很容易地编写一个通用的复制方法,该方法可以在一行中完成此工作。 优点: -易于编写 -无需维护, 缺点: -对发生的事情的控制较少 -如果反射工具也不能克隆子对象,则易发生对象易变的错误 -执行速度较慢 使用克隆框架: 使用适合您的框架,例如: commons-lang SerializationUtils Java深度克隆库 Dozer Kryo 优点: -与反射相同 -可以精确控制要克隆的内容。 缺点: -每个可变实例都被完全克隆,即使在层次结构的末尾 -可能执行起来很慢 使用字节码检测在运行时编写克隆 可以使用javassit,BCEL或cglib尽快生成专用克隆。有人知道为此目的使用这些工具之一的库吗? 我在这里错过了什么? 您会推荐哪一个? 谢谢。
175 java  clone 


6
领先的Java HTML解析器的优缺点是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 改善这个问题 在搜索SO和Google时,我发现有一些Java HTML解析器一直受到各方的推荐。不幸的是,很难找到有关各种库的优缺点的任何信息。我希望有些人花了一些时间比较这些库,并可以分享他们所学到的知识。 这是我所看到的: 泰迪 NekoHTML so 标签汤 如果我错过了一个主要的解析器,我也很想听听它的优缺点。 谢谢!
175 java  html  parsing 

11
有什么理由在生成.equals()时更喜欢getClass()而不是instanceof?
我正在使用Eclipse生成.equals()和.hashCode(),并且有一个标记为“使用'instanceof'比较类型”的选项。缺省是不选中此选项并用于.getClass()比较类型。有什么我.getClass()比我更喜欢的理由instanceof吗? 不使用instanceof: if (obj == null) return false; if (getClass() != obj.getClass()) return false; 使用instanceof: if (obj == null) return false; if (!(obj instanceof MyClass)) return false; 我通常会选中该instanceof选项,然后进入并删除“ if (obj == null)”检查。(这是多余的,因为空对象将始终失败instanceof。)是否有任何不好的主意?


25
如何从Java方法返回多个对象?
我想从Java方法返回两个对象,并且想知道这样做的好方法是什么? 我能想到的可能的方法是:回报HashMap(因为这两个对象是相关的),或者返回ArrayList的Object对象。 更准确地说,我要返回的两个对象是(a)List对象和(b)相同名称的逗号分隔。 我想从一个方法返回这两个对象,因为我不想遍历对象列表以获得逗号分隔的名称(我可以在此方法的同一循环中完成此操作)。 不知何故,返回aHashMap看起来不是很优雅的方式。
175 java  return 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.