什么是 JavaMail 文件夹类型 3?

发布于 2024-10-07 00:17:20 字数 274 浏览 4 评论 0原文

我知道 JavaMail 知道以下类型的 IMAP 文件夹:

Folder.HOLDS_MESSAGES(等于常量 1) 和 Folder.HOLDS_FOLDERS(等于常量 2)。

所以,今天我做了:

int type = folder.getType();

在一个名为“Drafts”的文件夹上,该文件夹应该是类型 2。

但是变量类型包含值 3,该值似乎没有在任何地方记录。

类型3是什么意思?

I know that JavaMail knows the following types of IMAP folders:

Folder.HOLDS_MESSAGES (which equals the constant 1)
and
Folder.HOLDS_FOLDERS (which equals the constant 2).

So, today I did:

int type = folder.getType();

on a folder called "Drafts", which should be type 2.

But the variable type contains the value 3, which does not seem to be documented anywhere.

What does type 3 mean?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

极度宠爱 2024-10-14 00:17:20

来自 ApiDoc Folder.getType

返回此文件夹的类型,即
就是这个文件夹是否可以容纳
消息或子文件夹或两者。这
返回值是一个整数位域
设置适当的位。

因此,在本例中,3 只是 2+1 的结果,这意味着您的文件夹同时包含 HOLDS_MESSAGES 和 HOLDS_FOLDERS。

请记住:int 是一个位域。您必须像这样检查它:

 if ((folder.getType() & Folder.HOLDS_FOLDERS) != 0)

等等,不要使用 == 作为运算符。

From the ApiDoc Folder.getType:

Returns the type of this Folder, that
is, whether this folder can hold
messages or subfolders or both. The
returned value is an integer bitfield
with the appropriate bits set.

So 3 is just the result of 2+1 in this case, which means your folder both HOLDS_MESSAGES and HOLDS_FOLDERS.

Remember: the int is a bitfield. You have to check it like this:

 if ((folder.getType() & Folder.HOLDS_FOLDERS) != 0)

etc, do not use == as operator.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文