草庐IT

mail_options

全部标签

java - 为什么 java 中没有 Optional 的公共(public)构造函数?

为什么Optional有of()和ofNullable()之类的方法,而不是公共(public)构造函数? 最佳答案 来自JoshuaBloch有效的Java,第2章。创建和销毁元素,1件:Considerstaticfactorymethodsinsteadofconstructors为什么?Oneadvantageofstaticfactorymethodsisthat,unlikeconstructors,theyhavenames.使用静态工厂方法,我们可以在方法定义中指定一些实例化行为。这使得API更易于使用,并且我们可以

java - 关于 _JAVA_OPTIONS 的信息

谁能解释当_JAVA_OPTIONS环境变量定义和应用程序在Windows机器上启动时Java做了什么? 最佳答案 您可以使用_JAVA_OPTIONS将选项传递给您系统上启动的任何JVM进程。例如,set_JAVA_OPTIONS=-Dsun.java2d.noddraw=true当JVM启动时,它会解析_JAVA_OPTIONS的值,就好像参数在java的命令行中一样。您可以通过JVisualVM看到传递的参数。有关更多信息,请阅读博文:WhatIdiscoveredwhiletryingtopassDefaultJVMPara

java - 为什么 Optional.map 使这项任务有效?

Optional>option=Optional.of(newArrayList());Optional>doesntWork=option;Optional>works=option.map(list->list);第一次尝试的赋值没有编译,但第二个赋值为map做。感觉就像map实际上不应该完成任何事情,但由于某种原因它变成了我的Optional>进入Optional>.是否存在某种隐式转换? 最佳答案 如果您查看map的代码并跟踪所有方法调用,您会看到option.map(list->list)最终返回newOptional(o

java - OptionalInt 与 Optional<Integer>

在浏览java.util的文档时包,我惊讶地发现Optional和OptionalInt彼此没有任何关系。这似乎很难相信,因为这表明它们是不相关的类。为什么它们没有一个通用的接口(interface)、类、子类型或一些东西来揭示它们之间的关系?(当您查看它们的用途时,它们是非常相似的类。)另外,为什么需要额外的OptionalInt类(class)?为什么你不能直接使用Optional?我以为是因为int是原始的,但没有OptionalChar所以这将是一个不一致的设计选择。 最佳答案 Java8引入了很多专用于原语的内容。原因很可

java - 如果存在 Optional<> 则抛出异常

假设我想查看一个对象是否存在于流中,如果不存在,则抛出异常。我可以做到这一点的一种方法是使用orElseThrow方法:Listvalues=newArrayList();values.add("one");//values.add("two");//exceptionthrownvalues.add("three");Stringtwo=values.stream().filter(s->s.equals("two")).findAny().orElseThrow(()->newRuntimeException("notfound"));反过来呢?如果我想在找到任何匹配项时抛出异常:

java - 在 Java 8 中,转换 Optional.empty 中空字符串的 Optional<String>

给定一个字符串,我需要获取一个Optional,如果String为null或为空,则结果将为Optional.empty。我可以这样做:Stringppo="";Optionalostr=Optional.ofNullable(ppo);if(ostr.isPresent()&&ostr.get().isEmpty()){ostr=Optional.empty();}但肯定有更优雅的方式。 最佳答案 您可以使用过滤器:Optionalostr=Optional.ofNullable(ppo).filter(s->!s.isEmpty

java - 启动 Scala 解释器时的 "Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar"

在Ubuntu14.04中运行Scala解释器时,我在第一行打印了以下消息:PickedupJAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar接着是熟悉的“欢迎使用Scala”消息。我很担心,因为我以前在运行Scala时没有看到过-这是什么意思,是否危险等?显然环境变量$JAVA_TOOL_OPTIONS设置为-javaagent:/usr/share/java/jayatanaag.jar-我没有设置,但做了什么为什么?我可以安全地取消设置吗?附加信息:最近安装的AndroidStudioJAR名称中的“ayatan

java - 在 javax.mail.MimeMessage 中设置发件人名称?

目前,我们的应用程序使用javax.mail发送电子邮件,使用javax.mail.MailMessage。我们以这种方式设置电子邮件的Fromheader:Messagemsg=newMimeMessage(mailSession);msg.setFrom(newInternetAddress("mail@companyxyz.com"));这很好用,但我们想让“发件人”部分更加用户友好。目前,收到电子邮件的人会在收件箱的“发件人”部分看到“mail@companyxyz.com”。相反,我们希望他们在那里看到“公司XYZ”。我认为这可能是通过addHeader()方法完成的,但我不

java - UTF-8 字符集不适用于 javax.mail

我用过JavaMailAPI,用于发送电子邮件。我正在使用联系人公式来发送输入,该输入必须发送到特定的电子邮件。虽然我是丹麦人,但电子邮件发送没有问题,因此我需要三个丹麦字符,即主题和电子邮件文本中的“æ”、“ø”和“å”。因此,我看到我可以使用UTF-8字符编码来提供这些字符,但是当我发送邮件时,我只看到一些奇怪的字母-'ã¦'、'ã¸'和'ã¥'-而不是丹麦字母-'æ'、'ø'和'å'。我发送电子邮件的方法如下所示:publicvoidsendEmail(Stringname,StringfromEmail,Stringsubject,Stringmessage)throwsAdd

java - 从一个 Optional 或另一个中获取值(value)

我有两个java.util.Optional实例,我想获得一个Optional:如果有值,则具有第一个Optional的值。如果有值,则具有第二个Optional的值。既没有Optional也没有值。有没有一种直接的方法可以做到这一点,即是否已经有一些API可以做到这一点?下面的表达式可以做到这一点,但我不得不提到第一个可选的两次:firstOptional.isPresent()?firstOptional:secondOptional这正是com.google.common.base.Optional.or()所做的,但该方法在Java8的API中不存在。aioobe接受的答案列出