如何用OpenNTF Domino API比较Notes Item类型?解决getType过时警告
解决OpenNTF Domino API中getType()过时警告的改写方案
问题根源
getType()方法返回整数常量的设计已被废弃,官方推荐使用类型更安全的getTypeEx()方法,它返回Item.Type枚举类实例,替代原来的整数常量判断逻辑。
对应关系与修改方法
原来的整数常量Item.MIME_PART、Item.RICHTEXT,直接对应Item.Type枚举中的同名常量。改写时只需:
- 调用
getTypeEx()获取枚举类型实例 - 直接与枚举常量比较(枚举支持
==或equals()判断)
修改后的代码
if (doc.hasItem("fieldA")) { Item rtiComment = doc.getFirstItem("fieldA"); if (null != rtiComment) { Item.Type itemType = rtiComment.getTypeEx(); if (itemType == Item.Type.MIME_PART) { // 更多代码 } else if (itemType == Item.Type.RICHTEXT) { // 更多代码 } } }
补充说明
枚举类型的优势在于编译期就能检查类型合法性,避免了整数常量可能出现的非法值问题。如果习惯用equals()判断,也可以写成Item.Type.MIME_PART.equals(itemType),效果一致。
内容的提问来源于stack exchange,提问作者Malin
相关产品推荐
相关产品推荐

