我正在使用JSP与NetBeans,我收到以下错误

时间:2011-02-16 00:53:58

标签: java jsp netbeans

注意:

C:\Users\Greg\Documents\NetBeansProjects\abalon3\build\generated\src\org\apache\jsp\user2_jsp.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

代码:

<%
  String like=" ";
  Vector<String> vcd = new Vector<String>();
  Vector<String> vbo = new Vector<String>();
  vcd=CheckUser.search_latest_cd();
  int jc=vcd.size();
  vbo=CheckUser.search_latest_books();
  int jb=vbo.size();
  int i=0;

%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<table border="1" cellspacing="10"
bgcolor=#99FFFF>
<tr>
<th>Author</th>
<th>Title</th>
<th>Summary</th>
<th>Genre</th>
<th>year</th>
<th>Price</th>
<th>ID</th>
</tr>
<%if(vbo.size()>0){for( i=jb;i<jb;i-=7){%>
<tr><td><%out.print(vbo.get(i-6));%></td><td><%out.print(vbo.get(i-5));%></td>
<td><%out.print(vbo.get(i-4));%></td><td><%out.print(vbo.get(i-3));%></td>
<td><%out.print(vbo.get(i-2));%></td><td><%out.print(vbo.get(i-1));%></td>
<td><%out.print(vbo.get(i));}}%></td></tr>
</table>

谁能告诉我问题出在哪里?

3 个答案:

答案 0 :(得分:1)

尝试按照消息所说的内容:

  

使用-Xlint重新编译:取消选中以获取详细信息。

答案 1 :(得分:1)

vcd=CheckUser.search_latest_cd();vbo=CheckUser.search_latest_books();返回 Vector<String>

unchecked or unsafe operations的原因通常是编译器无法检查泛型类型。阅读here了解更多详情。

此外,在JVM的更高版本中不推荐使用Java Vector。您应该考虑使用ListArrayList

另外请注意,您不需要创建永远不会使用的对象。这是你的代码:

Vector<String> vcd = new Vector<String>();
vcd=CheckUser.search_latest_cd();

您可以将对象直接设置为vcd

Vector<String> vcd = CheckUser.search_latest_cd();

Vector<String> vcd = null;
vcd=CheckUser.search_latest_cd();

创建永远不会被使用的新Vector对象是浪费时间。

答案 2 :(得分:0)

最后但并非最不重要的是,您所看到的不是错误,而是来自编译器的警告(尽管可以设置一些编译器将警告作为错误处理,这不是Sun Java编译器的默认行为)。