向量:应参数化对泛型类型Vector <e>的引用

时间:2015-06-19 03:04:45

标签: jsp generics vector

我的jsp文件中有这个问题(黄线),这经常导致我的eclipse程序没有响应。虽然我的程序可以运行,但我怎样才能摆脱以下代码行。

enter image description here

Vector vFieldName       = (Vector) session.getAttribute("table_vFieldName_"+TABLE_TYPE);
Vector vTable           = session.getAttribute("table_vTable_"+TABLE_TYPE) == null ? new Vector(): (Vector) session.getAttribute("table_vTable_"+TABLE_TYPE);   

for (int k=0;k<vTable.size();k++)
{
   intSeqNo=vTable.size();
   Vector vRow  = (Vector) vTable.elementAt(k);       
}

1 个答案:

答案 0 :(得分:2)

我不这么认为这些警告会挂起你的IDE,这些都是无害的。此外,最佳做法是指定Vectar<Object>Vectar<String>List<String>ArrayList<String>等泛型的类型,而不是使用原始类型。

请阅读更新的资料和书籍。这是Java-8的时代,而不是Java-1!

无论如何,如果你还想摆脱这些警告,那么:

  1. 右键点击您的项目
  2. 转到“属性”
  3. 搜索&#34; JSP&#34;
  4. 选择JSP语法并向下滚动到Java,如下所示:

    Project properties/Preferences for JSP

  5. 单击错误/警告,如图所示

  6. 向下滚动到Generic types并选择&#34; Ignore&#34;对于Usage of raw types如图所示:

    Generic types settings for the project

  7. 申请,重建项目,你就完成了。

  8. 另外,作为附带建议,最好使用ArrayList或其他List代替Vectar。有关不使用Vectar的原因,请参见this SO answer

    同时避免在JSP中尽可能多地使用Java代码,尽管有时可能是必要的,但在大多数情况下我们可以避免。请改用