Questions tagged «java»

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

8
JPA渴望获取未加入
JPA的提取策略究竟控制什么?我无法发现渴望与懒惰之间的任何区别。在这两种情况下,JPA / Hibernate都不会自动加入多对一关系。 示例:人员有一个地址。一个地址可以属于许多人。JPA注释的实体类如下所示: @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } 如果我使用JPA查询: select p from Person p where ... JPA / Hibernate生成一个SQL查询以从Person表中选择,然后为每个人进行不同的地址查询: select ... from …
112 java  hibernate  jpa  join 

12
Android-java-如何按对象内的某个值对对象列表进行排序
我试图按对象内的特定值对对象的数组列表进行排序。什么是做这种事情的最佳方法。我应该将Collections.sort()与某种比较器一起使用吗? 我试图用一个变量中包含的浮点值对对象列表进行排序。 编辑:这是我到目前为止: public class CustomComparator implements Comparator<Marker> { @Override public int compare(Mark o1, Mark o2) { return o1.getDistance().compareTo(o2.getDistance()); } } 错误状态:无法在原始类型double上调用compareTo(double)。 是因为比较器不能返回某种类型以外的任何东西吗?

10
Java的接口和Haskell的类型类:区别和相似之处?
当我学习Haskell时,我注意到它的type class,这应该是源自Haskell的伟大发明。 但是,在Wikipedia页面上,类型为class: 程序员通过指定一组函数或常量名称以及它们各自的类型来定义类型类,对于每个属于该类的类型,它们必须存在。 这似乎与Java的界面非常接近对我来说,(引用Wikipedia的Interface(Java)页面): Java编程语言中的接口是一种抽象类型,用于指定类必须实现的接口(在通用意义上)。 这两个看起来很相似:类型类限制类型的行为,而接口限制类的行为。 我想知道Haskell中的类型类和Java中的接口之间有什么区别和相似之处,或者根本上有区别吗? 编辑:我注意到什至haskell.org也承认它们是相似的。如果它们是如此相似(或者是?),那么为什么用此类炒作来处理类型class? 更多编辑:哇,这么多好答案!我想我必须让社区决定哪一个是最好的。但是,在阅读答案时,所有的人似乎都只是说:“ typeclass可以做很多事情,而interface不能或不必应付泛型”。我不禁想知道,接口有什么可以做而类型类不能做吗?另外,我注意到Wikipedia声称typeclass最初是在1989年的论文中发明的*“如何使ad hoc多态性减少ad hoc”,而Haskell仍处于摇篮中,而Java项目始于1991年并于1995年首次发布因此,也许不是typetype与接口类似,而是接口受typeclass影响?是否有任何文件/文件支持或反对?感谢所有答案,它们都非常有启发性! 感谢您的所有投入!


4
cacerts和密钥库之间有什么区别?
cacerts和密钥库之间有什么区别? 如果我使用在这些链接中找到的定义cacerts和keystore,则它们似乎是证书的集合,但是是在(Java)分布式系统的上下文中。SSL连接期间使用哪一个进行身份验证?两者还是只是其中之一,还是交替?

12
Spring Boot中的JSON Java 8 LocalDateTime格式
我在Spring Boot应用程序中格式化Java 8 LocalDateTime时遇到一个小问题。对于“正常”日期,我没有问题,但是LocalDateTime字段转换为以下内容: "startDate" : { "year" : 2010, "month" : "JANUARY", "dayOfMonth" : 1, "dayOfWeek" : "FRIDAY", "dayOfYear" : 1, "monthValue" : 1, "hour" : 2, "minute" : 2, "second" : 0, "nano" : 0, "chronology" : { "id" : "ISO", "calendarType" : "iso8601" } } 虽然我想将其转换为: "startDate": …


5
Android首选项onclick事件
在我的preferences.xml中,我具有如下所示的preference元素: <Preference android:title="About" /> 我想分配onClick事件,因此如果用户单击它,则可以打开new Intent或浏览器。我试图像使用按钮一样进行操作,但这似乎不起作用。


7
在Java中,是否有一种无需转义引号就能编写字符串文字的方法?
假设您有一个字符串文字,里面带有很多引号。您可以将它们全部逃脱,但这很痛苦,而且很难阅读。 在某些语言中,您可以执行以下操作: foo = '"Hello, World"'; 但是,在Java中,''它用于char,因此您不能以String这种方式将其用于s。某些语言具有解决此问题的语法。例如,在python中,您可以执行以下操作: """A pretty "convenient" string""" Java是否有类似的东西?
111 java  string  escaping 

10
使用JERSEY输入和输出二进制流?
我正在使用Jersey来实现一个RESTful API,该API主要是检索和提供JSON编码的数据。但是在某些情况下,我需要完成以下任务: 导出可下载的文档,例如PDF,XLS,ZIP或其他二进制文件。 检索多部分数据,例如一些JSON以及上载的XLS文件 我有一个基于页面的基于JQuery的Web客户端,该客户端创建对此Web服务的AJAX调用。目前,它不执行表单提交,而是使用GET和POST(带有JSON对象)。我应该利用表单发布来发送数据和附加的二进制文件,还是可以使用JSON和二进制文件创建多部分请求? 我的应用程序的服务层当前在生成PDF文件时会创建一个ByteArrayOutputStream。通过Jersey向客户输出此流的最佳方法是什么?我已经创建了一个MessageBodyWriter,但是我不知道如何从Jersey资源中使用它。那是正确的方法吗? 我一直在浏览Jersey附带的示例,但还没有发现任何说明如何执行这些操作的示例。如果有关系,我将Jackson与Jackson一起使用Jersey来执行Object-> JSON,而无需执行XML步骤,并且实际上并没有利用JAX-RS。
111 java  jersey  jax-rs 



16
是否有Java API可以创建丰富的Word文档?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 改善这个问题 我有一个新应用程序,我将在必须生成包含表,图形,目录和文本的Word文档的地方进行工作。有什么好的API可以使用呢?您如何确定它支持图形,目录和表?使用它们时有哪些隐藏的陷阱? 一些说明: 我无法输出PDF,他们需要Word文档。 他们使用的是MS Word 2003(或2007),而不是OpenOffice 应用程序正在* nix应用服务器上运行 如果我可以从模板文档开始,然后在表格,图形等中填充一些空格,那就太好了。 编辑:下面有几个好的答案,就我目前的情况而言,每个答案都有自己的缺点。很难从他们那里选择一个“最终答案”。认为我会保持开放状态,并希望能创建更好的解决方案。 编辑:OpenOffice UNO项目似乎与我要求的最接近。虽然POI当然是更主流的,但对于我想要的东西来说还太不成熟。
111 java  ms-word  docx  doc 

7
为什么此方法打印4?
我想知道当您尝试捕获StackOverflowError并提出以下方法时会发生什么: class RandomNumberGenerator { static int cnt = 0; public static void main(String[] args) { try { main(args); } catch (StackOverflowError ignore) { System.out.println(cnt++); } } } 现在我的问题是: 为什么此方法打印“ 4”? 我以为可能是因为System.out.println()在调用堆栈上需要3个段,但是我不知道3的来源。当您查看的源代码(和字节码)时System.out.println(),通常导致的方法调用次数比3多得多(因此,调用堆栈上的3个段是不够的)。如果是由于优化而应用了Hotspot VM(方法内联),我想知道在另一个VM上结果是否会有所不同。 编辑: 由于输出似乎是高度特定于JVM的,因此我使用 Java(TM)SE Runtime Environment(内部版本1.6.0_41-b02), Java HotSpot(TM)64位服务器VM(内部版本20.14-b01,混合模式)获得了结果4。 解释为什么我认为这个问题与理解Java堆栈不同: 我的问题不是关于为什么cnt> 0(显然是因为System.out.println()需要堆栈大小并且StackOverflowError在打印某些内容之前会抛出另一个),而是为什么它具有4的特定值,分别是0、3、8、55或其他值系统。
111 java  jvm  stack-overflow 

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.