Questions tagged «java»

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


5
Java正则表达式中match()和find()之间的区别
我试图了解两者之间的区别 matches()和find()。 根据Javadoc,(据我了解), matches()即使找到了所要查找的内容也将搜索整个字符串,并find()在找到所要查找的内容时停止。 如果这个假设是正确的,我看不到您何时要使用 matches()的find(),除非您要计算找到的匹配项的数量,否则代替。 我认为String类应该具有 find()而不是matches()作为内置方法。 总结一下: 我的假设正确吗? 什么时候matches()代替有用find()?
249 java  regex 

27
让二传手返回“ this”是否是错误的做法?
使Java中的setter返回“ this”是好是坏的主意? public Employee setName(String name){ this.name = name; return this; } 这种模式很有用,因为这样您就可以像这样链接设置器: list.add(new Employee().setName("Jack Sparrow").setId(1).setFoo("bacon!")); 代替这个: Employee e = new Employee(); e.setName("Jack Sparrow"); ...and so on... list.add(e); ...但是有点违反标准惯例。我想这可能是值得的,因为它可以使设置者做其他有用的事情。我已经看到此模式在某些地方使用过(例如JMock,JPA),但这似乎并不常见,并且仅用于定义非常明确的API,该模式随处可见。 更新: 我所描述的内容显然是有效的,但是我真正要寻找的是一些关于是否可以普遍接受以及是否存在陷阱或相关最佳实践的想法。我知道Builder模式,但是它比我描述的要复杂得多-正如Josh Bloch所描述的那样,有一个关联的静态Builder类用于对象创建。
249 java  design-patterns  api  oop 

7
信任库与密钥库-使用keytool创建
据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并且代表您打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利... 不过,我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 keytool -import -alias bob -file bob.crt -keystore keystore.ks 这将创建我的keystore.ks文件。我回答yes了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?我可以将我的应用程序设置为使用该文件。 -Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x -Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x 并与System.setProperty( "javax.net.debug", "ssl")设置,我可以看到根据该证书信任认证(但不是下的密钥库部分)。我要导入的特定证书只有一个公共密钥,我打算用它通过SSL连接将数据发送给Bob(但这也许是另一个问题了!)。 任何指针或澄清将不胜感激。无论您导入什么,keytool的输出是否都是相同的,并且它的公正约定说一个是密钥库,另一个是信任库?使用SSL等时有什么关系?
249 java  ssl  keytool  jce 

12
比较两个java.util.Date以查看它们是否在同一天
我需要比较两个Dates(例如date1和date2),并得出在同一天boolean sameDay这两个Dates共享的true,否则返回false。 我怎样才能做到这一点?这里似乎有混乱的旋风……我想尽可能避免引入除JDK之外的其他依赖项。 需要说明的是:如果date1并且date2共享相同的年,月和日,sameDay则为true,否则为false。我意识到这需要了解时区...传入时区会很好,但是只要知道行为是什么,我就可以使用GMT或本地时间。 再次澄清: date1 = 2008 Jun 03 12:56:03 date2 = 2008 Jun 03 12:59:44 => sameDate = true date1 = 2009 Jun 03 12:56:03 date2 = 2008 Jun 03 12:59:44 => sameDate = false date1 = 2008 Aug 03 12:00:00 date2 = 2008 Jun 03 12:00:00 => …
249 java  datetime 

11
Java:分割逗号分隔的字符串,但忽略引号中的逗号
我隐约有这样的字符串: foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy" 我想按逗号分割-但我需要忽略引号中的逗号。我怎样才能做到这一点?似乎正则表达式方法失败了。我想我可以在看到报价时手动扫描并进入其他模式,但是使用预先存在的库会很好。(编辑:我想我的意思是那些已经属于JDK或已经属于诸如Apache Commons之类的常用库的库。) 上面的字符串应分为: foo bar c;qual="baz,blurb" d;junk="quux,syzygy" 注意:这不是CSV文件,它是文件中包含的单个字符串,具有较大的整体结构
249 java  regex  string 


10
整数除法:您如何产生双倍?
对于此代码块: int num = 5; int denom = 7; double d = num / denom; 的值d就是0.0。它可以通过强制转换来工作: double d = ((double) num) / denom; 但是还有另一种方法来获得正确的double结果吗?我不喜欢强制转换基元,谁知道会发生什么。

13
计算Java 8中两个日期之间的天数
我知道有很多关于如何获取的问题,但是我想和使用新的Java 8 Date api进行示例。我也知道JodaTime库,但是我想要一种没有外部库的工作方式。 功能需要抱怨以下限制: 防止日期保存错误 输入是两个Date对象(没有时间,我知道localdatetime,但是我需要处理日期实例)


14
JAX-RS —如何一起返回JSON和HTTP状态代码?
我正在编写REST Web应用程序(NetBeans 6.9,JAX-RS,TopLink Essentials),并尝试返回JSON 和 HTTP状态代码。我已经准备好工作的代码,当从客户端调用HTTP GET方法时,该代码返回JSON。本质上: @Path("get/id") @GET @Produces("application/json") public M_機械 getMachineToUpdate(@PathParam("id") String id) { // some code to return JSON ... return myJson; } 但是,我也想用JSON数据一起返回的HTTP状态代码(500,200,204,等)。 我尝试使用HttpServletResponse: response.sendError("error message", 500); 但这使浏览器认为它是“真实的” 500,因此输出网页是常规的HTTP 500错误页面。 我想返回一个HTTP状态代码,以便我的客户端JavaScript可以处理一些依赖于它的逻辑(例如,在HTML页面上显示错误代码和消息)。这可能吗,或者不应该将HTTP状态代码用于这种情况?

22
Java:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
我有一个可以从https服务器下载文件的类。当我运行它时,它返回很多错误。我的证书似乎有问题。是否可以忽略客户端-服务器身份验证?如果是这样,怎么办? package com.da; import java.io.FileOutputStream; import java.io.IOException; import java.nio.CharBuffer; import java.util.concurrent.Future; import org.apache.http.HttpResponse; import org.apache.http.client.utils.URIUtils; import org.apache.http.impl.nio.client.DefaultHttpAsyncClient; import org.apache.http.nio.IOControl; import org.apache.http.nio.client.HttpAsyncClient; import org.apache.http.nio.client.methods.AsyncCharConsumer; import org.apache.http.nio.client.methods.HttpAsyncGet; import org.apache.http.nio.client.methods.HttpAsyncPost; public class RSDDownloadFile { static FileOutputStream fos; public void DownloadFile(String URI, String Request) throws Exception { java.net.URI uri = URIUtils.createURI("https", "176.66.3.69:6443", -1, "download.aspx", …


6
“ | =”是什么意思?(管道等于运算符)
我尝试使用Google搜索和堆栈溢出进行搜索,但未显示任何结果。我已经在开源库代码中看到了这一点: Notification notification = new Notification(icon, tickerText, when); notification.defaults |= Notification.DEFAULT_SOUND; notification.defaults |= Notification.DEFAULT_VIBRATE; “ | =”(pipe equal operator)是什么意思?
248 java  android  operators 

19
最佳的Java电子邮件地址验证方法是什么?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 2年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 Java有哪些好的电子邮件地址验证库?公共验证器是否有替代方案?

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.