java代码问题,为什么这样写说是数据类型不对?

[复制链接]
查看11 | 回复6 | 2011-9-9 10:58:09 | 显示全部楼层 |阅读模式
packagecom.servlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.biz.LoginBiz;importcom.biz.LoginBizImpl;importcom.entity.User;publicclassLoginServletextendsHttpServlet{privateLoginBizImplbiz=newLoginBizImpl();publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringusername=request.getParameter(\"username\");Stringpassword=request.getParameter(\"password\");Stringtype=request.getParameter(\"type\");Useruser=newUser();user.setUsername(username);user.setPassword(password);user.setType(type);booleanb;try{b=biz.checkLogin(user);if(b==true){if(type=\"D\"){request.getRequestDispatcher(\"/success.jsp\").forward(request,response);}elseif(type=\"T\"){request.getRequestDispatcher(\"/Teacher.jsp\").forward(request,response);}elseif(type=\"S\"){request.getRequestDispatcher(\"/Student.jsp\").forward(request,response);}}else{request.getRequestDispatcher(\"/error.jsp\").forward(request,response);}}catch(Exceptione){e.printStackTrace();}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}}
回复

使用道具 举报

千问 | 2011-9-9 10:58:09 | 显示全部楼层
你的if判断语句中怎么能用type=\"T\",判断字符串是用type.equals(\"T\")你这么写是个赋值语句,把char类型的赋值给string类型的,那是不行的,判断语句是用“==”,两个等号的追问哦明白了,那也就是说用两个等号也可以?
回复

使用道具 举报

千问 | 2011-9-9 10:58:09 | 显示全部楼层
比较数值型数据时才用两个等号,比较字符串类型的话就用equals函数吧!像这样:if(type.equals(\"D\"))
回复

使用道具 举报

千问 | 2011-9-9 10:58:09 | 显示全部楼层
你哪一行报的异常,把异常贴出来追问Typemismatch:cannotconvertfromStringtoboolean
回复

使用道具 举报

千问 | 2011-9-9 10:58:09 | 显示全部楼层
请指明错误信息
回复

使用道具 举报

千问 | 2011-9-9 10:58:09 | 显示全部楼层
比较字符串内容时用equals“==”比较的不仅是内存地址还有内容,很少用到“==”
回复

使用道具 举报

千问 | 2011-9-9 10:58:09 | 显示全部楼层
if(type=\"D\")错了,String相等应该用equals,改成if(type.equals(\"D\"))
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行