jjzjj

java - 为什么 java.util.Optional 不实现 Iterable?

为什么Java8的Optional没有实现Iterable?我认为这是一种有意的语言选择,但我想知道为什么。Scala的Option和Haskell的Maybe实现了类似于Iterable的遍历方法。FWIW,Java9将实现Optional.stream()(JDK-8050820)。 最佳答案 我不是Scala或Haskell的专家,但我相信这些语言具有诸如序列理解之类的结构,这使得它对Option或Maybe非常有用成为Traversable。Java的Iterable可能类似于Traversable但Java语言的其余部分并

java - log4j 和 java.util.logging 有什么区别

哪个最适合获取登录其帐户的用户的日志文件?用一个小例子解释......感谢你的时间...... 最佳答案 Log4j是Java事实上的标准日志记录库。Java.util.logging是Java中内置的日志记录机制,但这并不能使它成为最强大的...使用Log4j及其MDC.这样,您可以像这样轻松地登录不同的用户帐户:MDC.put(user);logger.log("Deletedsomethingimportant!");这样,如果日志配置正确,在您的日志输出中您将看到如下内容:[userAlice]Deletedsomethin

java - 序列化 java.util.Random

我正在开发一款简单的小游戏(主要是为了学习Java8和JavaFX中的新功能)。我拥有的功能之一是能够为游戏的随机数生成器提供种子,这样您就可以在不同的系统上与friend玩大致相同的游戏(想想Minecraftmap或The艾萨克的绑定(bind)游戏)。我想添加保存游戏以便稍后恢复的功能。查看java.util.Random类的文档后,我找不到获取随机数生成器当前种子的方法。我想出的在保存游戏后恢复随机数生成器的唯一方法是在保存时通过反射访问种子并使用它,或者在加载时播种初始种子并调用nextInt()一遍又一遍,直到我们将随机数生成器前滚到足以恢复游戏保存前的位置。

java - java.util.Comparator 实例的命名约定

假设有一类股票classStock{Stringid;Stringname;}我想创建两个通过id进行比较的比较器和name,分别。Java中的比较器是否有命名约定或最佳实践?跟随名字可以吗?StockByIdComparator和StockByNameComparatorSortStockById和SortStockByName我知道在某些领域会避免重复名称。一个人会选择Liststocks在ListstockList.类型也不应该编码在变量名中(也许是因为IDE的兴起?)。但清晰度也很重要。那么命名比较器的好方法是什么? 最佳答案

java - java.util.Vector 序列化线程安全吗?

我知道Vector类对于添加和删除元素是线程安全的[reference].如果我使用ObjectOutputStream序列化一个Vector,即使其他线程在序列化过程中添加和删除对象,我是否可以保证在反序列化时保持一致(且未损坏)的状态? 最佳答案 writeObject()方法是同步的。但是Javadoc中没有任何内容可以保证这一点,除非声明“vector是同步的”暗示了这一点。请注意,readObject()方法不需要同步,因为在readObject()返回之前,任何人都无法访问该对象。

java.lang.NoSuchMethodError : com. sun.mail.util.TraceInputStream

我正在尝试通过JavaMailAPI发送电子邮件,它在我的笔记本电脑上运行良好。当我在Heroku中做同样的事情时,我得到了这个:java.lang.NoSuchMethodError:com.sun.mail.util.TraceInputStream.(Ljava/io/InputStream;Lcom/sun/mail/util/MailLogger;)Vatcom.sun.mail.smtp.SMTPTransport.initStreams(SMTPTransport.java:2014)atcom.sun.mail.smtp.SMTPTransport.openServer

java.lang.IllegalArgumentException : Comparison method violates its general contract! java.util.Date

java.lang.IllegalArgumentException:Comparisonmethodviolatesitsgeneralcontract!atjava.util.TimSort.mergeLo(TimSort.java:747)atjava.util.TimSort.mergeAt(TimSort.java:483)atjava.util.TimSort.mergeCollapse(TimSort.java:410)atjava.util.TimSort.sort(TimSort.java:214)atjava.util.TimSort.sort(TimSort.ja

java - java.util.zip.ZipFile.close() 什么时候抛出 IOException?

什么情况下会java.util.zip.ZipFile.close()抛出IOException?它的方法签名表明它可以被抛出,但从源代码来看,似乎没有任何地方可能发生这种情况,除非它是在native代码中。在捕获该异常时可以采取什么纠正措施(如果有)? 最佳答案 来自APIdocsonZipFile.close():ClosingthisZIPfilewillclosealloftheinputstreamspreviouslyreturnedbyinvocationsofthegetInputStreammethod.和Inpu

java - import java.util.UUID 有什么用?

importjava.util.UUIDpublicclassPersonimplementsSerializable{privateUUIDuuid;publicPerson(){uuid=UUID.fromString("3856c3da-ea56-4717-9f58-85f6c5f560a5");}publicUUIDgetUuid(){returnuuid;}} 最佳答案 它可以帮助您解析/生成Universallyuniqueidentifier. 关于java-importj

java - 为什么java.util.ArrayList中有私有(private)方法outOfBoundsMsg?

这是java.util.ArrayList的片段:/***ConstructsanIndexOutOfBoundsExceptiondetailmessage.*Ofthemanypossiblerefactoringsoftheerrorhandlingcode,*this"outlining"performsbestwithbothserverandclientVMs.*/privateStringoutOfBoundsMsg(intindex){return"Index:"+index+",Size:"+size;}这是来自com.google.collect.Precondit