Java中如何对通用类型的引用参数化 50
用Java做一个博客系统,以下是AdminBlogListServlet.java文件中的程序代码,但List下会出现黄色的下划波浪线,提示为“List是原始类型,应该将...
用Java做一个博客系统,以下是AdminBlogListServlet.java文件中的程序代码,但List下会出现黄色的下划波浪线,提示为“List是原始类型,应该将对通用类型List<E>的引用参数化”,该如何修改?
package cn.com.jobedu.blog;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class AdminBlogListServlet extends HttpServlet {
private static final long serialVersionUID = -7152478870507997462L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if (user == null) {
response.sendRedirect("/blog/admin/login.jsp");
} else {
QueryRunner qr=DbHelper.getQueryRunner();
// 查询所有的博客内容,也就是所有的Blog对象
String sql = "select b.id as id ,title,content,createdtime, c.name as category from blog b,category c where b.category_id=c.id order by b.id desc";
List list=null;
try {
list = (List) qr.query(sql,
new BeanListHandler(Blog.class));
} catch (SQLException e) {
e.printStackTrace();
}
request.setAttribute("list", list);
request.getRequestDispatcher("/admin/adminBlogList.jsp").forward(request, response);
}
}
}
加了<map>后除了原先的警告,又出了个警告:Map是原始类型,应该将对通用类型Map<K,V>的引用参数化 展开
package cn.com.jobedu.blog;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class AdminBlogListServlet extends HttpServlet {
private static final long serialVersionUID = -7152478870507997462L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if (user == null) {
response.sendRedirect("/blog/admin/login.jsp");
} else {
QueryRunner qr=DbHelper.getQueryRunner();
// 查询所有的博客内容,也就是所有的Blog对象
String sql = "select b.id as id ,title,content,createdtime, c.name as category from blog b,category c where b.category_id=c.id order by b.id desc";
List list=null;
try {
list = (List) qr.query(sql,
new BeanListHandler(Blog.class));
} catch (SQLException e) {
e.printStackTrace();
}
request.setAttribute("list", list);
request.getRequestDispatcher("/admin/adminBlogList.jsp").forward(request, response);
}
}
}
加了<map>后除了原先的警告,又出了个警告:Map是原始类型,应该将对通用类型Map<K,V>的引用参数化 展开
4个回答
展开全部
用arraylist或者其它类型
泛型里面的话你可以先设置你的list中都是同一样类型的值,比如List<string>
泛型里面的话你可以先设置你的list中都是同一样类型的值,比如List<string>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用泛型。
Map类型也要添加泛型
如Map(String,String)
泛型就是在括号里添加你这泛型的类型。
List(String)就是指你这个List是用来存储String类型的。
Map类型也要添加泛型
如Map(String,String)
泛型就是在括号里添加你这泛型的类型。
List(String)就是指你这个List是用来存储String类型的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是泛型的应用,详细解释你可搜索一下百度“java 泛型”
List<Map> list =null;
list = (List<Map>) qr.query(sql,....
List<Map> list =null;
list = (List<Map>) qr.query(sql,....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询