Vector:对通用类型Vector <E>的引用应参数化

use*_*327 5 generics jsp vector

我的jsp文件中存在此问题(黄线),该问题经常导致我的eclipse程序不响应。虽然我的程序可以运行,但是如何摆脱下面的代码行。

在此处输入图片说明

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);       
}
Run Code Online (Sandbox Code Playgroud)

Pra*_*h K 2

我不认为这些警告会挂起你的 IDE,它们是无害的。而且最好的做法是指定泛型的类型,例如Vectar<Object>orVectar<String>List<String>orArrayList<String>等​​,而不是使用原始类型。

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

无论如何,如果您仍然想摆脱这些警告,那么:

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

    JSP 的项目属性/首选项

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

  6. 向下滚动到通用类型并选择“忽略”,如下Usage of raw types所示:

    项目的通用类型设置

  7. 应用、重建项目就完成了。

另外作为一个侧面建议,最好使用ArrayListor 其他Lists 而不是Vectar。请参阅此 SO 答案,了解为什么不使用 Vectar。

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