为什么在下面的情况下 getPersonal() returns null?
Why getPersonal() returns null in the below case?
我一直在 Java 中使用 InternetAddress。我使用了下面的代码片段。
InternetAddress internetAddress = new InternetAddress("king<***@***.com>");
System.out.println(internetAddress.getPersonal());
在这种情况下它returns国王作为输出。
InternetAddress internetAddress = new InternetAddress(",<***@***.com>");
System.out.println(internetAddress.getPersonal());
在这种情况下,没有异常,但返回null。
这里的逗号没有用双引号括起来,那么它是如何被接受的,为什么它returns null 而不是逗号?
谢谢。
根据 InternetAddress
解析函数文档判断 addressList 参数被解释为逗号分隔的地址字符串列表,很可能 java 将其视为两封电子邮件,一封无效(空)地址,以及没有个人地址的地址。
您的构造函数调用 new InternetAddress("xyz") 然后直接传递给解析,如您所见 here
逗号有特殊处理,它会尝试将逗号检测为地址列表,您可以看到 here
相关文档:https://docs.oracle.com/javaee/6/api/javax/mail/internet/InternetAddress.html#parse
我一直在 Java 中使用 InternetAddress。我使用了下面的代码片段。
InternetAddress internetAddress = new InternetAddress("king<***@***.com>");
System.out.println(internetAddress.getPersonal());
在这种情况下它returns国王作为输出。
InternetAddress internetAddress = new InternetAddress(",<***@***.com>");
System.out.println(internetAddress.getPersonal());
在这种情况下,没有异常,但返回null。
这里的逗号没有用双引号括起来,那么它是如何被接受的,为什么它returns null 而不是逗号?
谢谢。
根据 InternetAddress
解析函数文档判断 addressList 参数被解释为逗号分隔的地址字符串列表,很可能 java 将其视为两封电子邮件,一封无效(空)地址,以及没有个人地址的地址。
您的构造函数调用 new InternetAddress("xyz") 然后直接传递给解析,如您所见 here
逗号有特殊处理,它会尝试将逗号检测为地址列表,您可以看到 here
相关文档:https://docs.oracle.com/javaee/6/api/javax/mail/internet/InternetAddress.html#parse