根据标题,我正在努力寻找某些代码中“未经检查或不安全的操作”警告的原因。
如果我有以下代码,它将在没有任何警告的情况下编译:
public void test()
{
Set<String> mySet = new HashSet<String>();
Set<String> myNewSet = mySet;
//do stuff
}
现在,如果我更改mySet的来源,特别是作为方法调用的结果,我会收到“unchecked yadda yadda”警告:
public void test()
{
Set<String> myNewSet = this.getSet();
//do stuff
}
public Set getSet()
{
Set<String> set = new HashSet<String>();
return set;
}
我已经尝试并试图找出问题所在,但我完全被难住了。无论我使用集合还是列表,问题都存在。为什么 getSet 方法返回的 Set 与第一个示例中的 Set 有什么不同?
任何帮助都将不胜感激,因为虽然警告不是世界末日,但它让我很烦!:(
问候