[Domino]“java.lang.ClassCastException:lotus.domino.cso.Item”异常解决办法
2008-04-12 15:42
676 查看
[Domino]
“java.lang.ClassCastException:lotus.domino.cso.Item”
异常解决办法
编写者 | 日期 | 关键词 |
郑昀@ultrapower | 2005-6 | Java Domino RichTextItem |
现象
通过Domino的Document.getFirstItem("Body")是可以获取当前邮件的Body字段,并试图直接转换为RichTextItem类型,从而访问该邮件的附件。但是,有时候这个转换得到了下面的异常:
Log提示: |
Exception: java.lang.ClassCastException: lotus.domino.cso.Item [/b] |
代码: |
RichTextItem bodyWithAttachs = (RichTextItem)doc.getFirstItem("Body"); [/b] |
原因
原因在于,这封邮件不一定有RichTextItem,所以最保险的办法是先转换得到Item类型,然后再判断它的real class name。否则如果这封邮件是纯文本,那么直接
RichTextItem bodyWithAttachs =
(RichTextItem)doc.getFirstItem("Body");
将会得到这样的异常:
java.lang.ClassCastException: lotus.domino.cso.Item。
解决办法
先转换得到Item,再判断这个Item的real class Name是否为“lotus.domino.cso.RichTextItem”,
来决定是否应该进一步作RichTextItem强制转换:
Log提示: |
// grab the Body field of the current document, // and check each attachment Item itRichText = doc.getFirstItem("Body"); if("lotus.domino.cso.RichTextItem" == itRichText.getClass().getName() ) { /* * 不一定这封邮件有RichTextItem,所以最保险的办法是先转换得到Item类型, * 然后再判断它的类名。 * 否则如果这封邮件是纯文本,那么直接 * RichTextItem bodyWithAttachs = (RichTextItem)doc.getFirstItem("Body"); 将会得到这样的异常: java.lang.ClassCastException: lotus.domino.cso.Item */ RichTextItem bodyWithAttachs = (RichTextItem)itRichText; |
编写者 | 日期 | 关键词 |
郑昀@ultrapower | 2005-6 | Java Domino RichTextItem |
相关文章推荐
- [Domino]“java.lang.ClassCastException:lotus.domino.cso.Item”异常解决办法
- tomcat6下,关于java.lang.ClassNotFoundException: javax.el.FunctionMapper 异常解决办法
- 解决EJB本地调用“java.lang.ClassCastException: $Proxy96 cannot be cast to com.tgb.ejb.UserManager”异常
- Validator问题及解决办法——java.lang.ClassCastException: org.apache.struts.validator.ValidatorForm cannot be cast to forms.RegisterForm
- unexpected token: * 和 java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 解决办法
- java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory 解决办法
- 举例说明关于android编程中遇到的java.lang.ClassCastException: android.app.Application问题的原因及解决办法
- 关于使用动态代理创建代理对象是报错 java.lang.ClassCastException: $Proxy0 cannot be cast to 的解决办法
- java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl 错误解决办法
- 异常 java.lang.ClassCastException:cannot be cast to android.widget.HeaderViewListAdapter.的解决方法
- java.lang.ClassNotFoundException:javax.el.ELResolver异常解决办法
- java.lang.ClassCastException: android.widget.ImageView cannot be cast to android.widget.TextView解决办法
- Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer错误解决办法
- jsp异常:org.apache.jasper.JasperException: java.lang.ClassCastException三种解决方法
- 解决异常:java.lang.ClassCastException:android.app.Aplication cannot be cast to 类名
- 【原创】java.lang.ClassCastException异常问题解决
- 解决EJB本地调用“java.lang.ClassCastException: $Proxy96 cannot be cast to com.tgb.ejb.UserManager”异常
- java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver异常的解决办法
- Hibernate HQL查询异常:java.lang.ClassCastException解决
- 【问题解决:连接异常】 java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long