gpt4 book ai didi

java - 为什么 getPersonal() 在下面的情况下返回 null?

转载 作者:行者123 更新时间:2023-12-02 01:25:51 25 4
gpt4 key购买 nike

我一直在 Java 中使用 InternetAddress。我使用了下面的代码片段。

InternetAddress internetAddress = new InternetAddress("king<***@***.com>");
System.out.println(internetAddress.getPersonal());

在本例中,它返回 king 作为输出。

InternetAddress internetAddress = new InternetAddress(",<***@***.com>");
System.out.println(internetAddress.getPersonal());

本例中没有异常,但返回 null。

这里的逗号没有用双引号括起来,那么它是如何被接受的以及为什么它返回null而不是逗号?

谢谢。

最佳答案

根据 InternetAddress 判断parse 函数文档说,addressList 参数被解释为逗号分隔的地址字符串列表,java 很可能将其视为两封电子邮件,一封无效(空)地址,另一封没有个人地址。

然后将构造函数调用 new InternetAddress("xyz") 传递给直接解析,如您所见 here

对逗号有特殊处理,它尝试将逗号检测为地址列表,您可以看到 here

相关文档:https://docs.oracle.com/javaee/6/api/javax/mail/internet/InternetAddress.html#parse

关于java - 为什么 getPersonal() 在下面的情况下返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56953846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com