您的位置:首页 > 编程语言 > Java开发

java类型转化错误

2014-12-01 18:16 239 查看
<span style="font-size:18px;">public Set<Long> idList = null;
// ......
if (idList.contains(circle.id)) {
holder.badgeView.show();
} else {
holder.badgeView.hide();
}</span>

这里的circle.id为int类型,而idList的元素为long类型所以出现了类型转化的错误。

这点注意就可以了。

本身此错误很好找,但是由于开始的时候竟然不报这个错误,而是报其他的错误。

报的是啥Fragment constructor is empty.....之类的,让自己思维陷入到那里了。

然后调试的时候,才报出来类型转化,很快就解决了。

(1)多调试,而且要跟踪到底,

(2)不要过于迷信错误提示,更不能忽略它。

<span style="font-size:18px;"> public List<MyCircleBean> findAllByUid() {
long uid = SettingUtils.getUID();
try {
QueryBuilder<MyCircleBean, Integer> builder = daoOpe
.queryBuilder();
builder.where().eq(ConstDef.UID, uid);
List<MyCircleBean> result = builder.query();
//1 return result;
} catch (SQLException e) {
e.printStackTrace();
}
//2 return null;
}</span>

调试的这部分代码的时候,界面上取得此函数的返回的数据。发现界面没有显示数据。
就跟踪这部分代码,思维中有数据返回一定是从//1这里,但是每次从//2这里返回。所以思维定势

就认为从//2位置返回就是没有数据,但是又没有报异常错误。搞得自己以为这个是系统的问题。

其实认真跟踪之后,返现有数据的时候也是从//2这里返回的。

(1)Eclipse的不智能和自己的思维定势导致出现的问题,解决办法,“跟踪到底”;

(2)其实界面没有显示是由于另一段代码引起的。这部分代码,自己清楚的记得是拷贝其他部分相同的结构的代码。“copy是错误bug之源”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: