我有一个简单的Entry
对象来填充列表
public class Entry {
//fields
public Entry(int a, String b, String c) {
//...
}
//some getters
}
和AsyncTask
检索条目
在onProgressUpdate
...
(here)
|
@Override V
protected void onProgressUpdate(List<Entry>... param) {
for (Entry e : param[0]) myAdapter.add(e);
progressBar.incrementProgressBy(1);
myAdapter.notifyDataSetChanged();
}
我有警告:
类型安全:通过varargs参数param潜在的堆污染
这发生在PC Linux 64bit上,而相反警告显示在具有相同版本的Eclipse,相同的android项目,相同的Linux Mint 16,只是32位操作系统的笔记本上, &#34; 删除此不必要的注释&#34; (对不起,如果这不是准确的警告,我现在就在台式电脑上)。
所以基本上我添加和删除注释,在两台机器之间切换。我认为这显然可能与正在使用的Java编译器或其他工作区设置有关。
现在,我不会问实际是设置/环境差异,但我的问题是,如果我能在代码中做些什么解决此问题并删除警告本身的来源。我已经读过这个警告的起源以及什么&#34;堆污染&#34;在这里,但没有任何来源提供可能的修复提示(即here或here)
修改:
我注意到另一个@SuppressWarnings("unchecked")
位于doInBackground
,
在哪里我打电话
List<Entry> list;
//inside a for statement:
publishProgress(list);
//repeated N times
发出此警告:
类型安全:为varargs参数
创建List的通用数组