java类型转化错误

<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之源”。


你可能感兴趣的:(java类型转化错误)