栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

“ |”是什么 以“ int样式= SWT.APPLICATION_MODAL | SWT.OK;” (以及如何使用Google)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“ |”是什么 以“ int样式= SWT.APPLICATION_MODAL | SWT.OK;” (以及如何使用Google)?

在这种情况下,管道运算符的意思是“将SWT.APPLICATION_MODAL和SWT.OK都用作我的弹出框的选项/标志。”
这是非常常用的习惯用法,带有位域配置标识符,特别是。在SWT或Win32之类的窗口系统中。

这个怎么运作

管道( |
)运算符是按位或运算符,即,它计算两个二进制整数值的或运算。如果检查出定义了APPLICATION_MODAL和OK的位置,则会发现它们类似于以下内容:

...SWT.OK = 1,       // 00000001 in binarySWT.ABORT_RETRY_IGNORE = 2,  // 00000010 in binarySWT.OK_CANCEL = 4;// 00000100 in binary...SWT.APPLICATION_MODAL = 32;  // 00100000 in binary... (and so on...)

当将这些数字中的两个(或多个)按位或时,将为每个选项设置单独的位:

int style = SWT.OK | SWT.APPLICATION_MODAL = 00000001 | 00100000 = 00100001

解释样式的窗口工具箱将能够通过按位执行AND来准确地告诉您您想要的内容(一个弹出框,该弹出框是Modal并具有一个OK按钮):

...if(style & SWT.OK){    // we want an OK box}if(style & SWT.ABORT_RETRY_IGNORE){    // we want an Abort/Retry/Ignore box}if(style & SWT.OK_CANCEL){    // we want an OK/Cancel box}...if(style & SWT.APPLICATION_MODAL){    // We want a modal box}...

以我的拙见,金达很聪明。它允许您在单个变量中选择/表示多个配置选项。诀窍在于选项的整数定义,并确保它们仅是2的幂。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号