1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Java object类型转换为int类型

Java object类型转换为int类型

时间:2023-04-09 08:39:52

相关推荐

Java object类型转换为int类型

在struts1的action类中设置了String类型的变量,int类型的变量,把他们放在request中,在jsp页面获取的时候object类型装换位int类型,(Integer)request.getAttribute("")没错,但是同样的方式转换String类型的变量的时候,报了异常

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer,很奇怪request.getAttribute("xx")返回object类型,怎么会报这样的异常呢?

最后只能把String类型变量转化为int类型,然后才设置request中。

代码:

Java代码publicActionForwardlistjob(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ //jobFormbeanjob=(jobFormbean)form; DbManagerdbmgr=newDbManager(); Stringorgid=request.getParameter("orgid"); //分页代码开始 Stringpage=request.getParameter("curpage"); Stringcountsql="selectcount(*)fromln_jobwhereorgid='"+orgid+"'"; introwcount=dbmgr.rowscount(countsql); if(page==null){ page="1"; } if(page.equals("")||page.equals("0")){ page="1"; } PageManagerpmg=newPageManager(); pmg.setrowsPerPage(15); pmg.setpagenum(Integer.parseInt(page)); pmg.setmaxRowCount(rowcount); introwsStart=pmg.getrowsStart(); introwsEnd=pmg.getrowsEnd(); intmaxPage=pmg.getmaxPage(); intnextpage=pmg.getnextpage(Integer.parseInt(page)); //分页代码结束 Stringsql="select*from(selectjobid,jobname,orgid,row_number()over(orderbyjobidasc)rnfromln_jobwhereorgid='"+orgid+"')wherern>="+rowsStart+"andrn<="+rowsEnd; System.out.println(sql); //System.out.println(sql); rs=dbmgr.getQuery(sql); List<Job>list=newArrayList<Job>(); while(rs.next()){ Jobog=newJob(); og.setJobid(rs.getInt("jobid")); og.setJobname(rs.getString("jobname")); og.setOrgid(rs.getString("orgid")); list.add(og); } sql="selectorgnamefromln_orgwhereorgid='"+orgid+"'orderbyorgidasc"; rs=dbmgr.getQuery(sql); Stringorgname=""; while(rs.next()){ orgname=rs.getString(1); } request.setAttribute("currentPage",Integer.parseInt(page)); request.setAttribute("nextpage",nextpage); request.setAttribute("maxPage",maxPage); request.setAttribute("list",list); request.setAttribute("orgid",orgid); request.setAttribute("orgname",orgname); returnmapping.findForward("list"); }

struts-config.xml中配置

写道 <action path="/user/manage/job" name="JobFormbean" scope="request" type="com.hkr.ly.action.job.JobManage" parameter="method">

<forward name="list" path="/dtynwebmain/job/joblist.jsp"/>

</action>

在joblist.jsp页面中

Java代码<% intnextpage=(Integer)request.getAttribute("nextpage"); intmaxPage=(Integer)request.getAttribute("maxPage"); intcurrentPage=(Integer)request.getAttribute("currentPage"); intfontpage=0; if(currentPage>1){ fontpage=currentPage-1; } %>

总结:

String转换为int类型的方法:

1. Integer.parseInt([String])

2.Integer.valueOf([String]).intValue();

3.Integer.decode([String]):将String解码为Integer。接受通过以下语法给出的十进制、十六进制和八进制数字

例如:

int a=Integer.decode("0144"); //八进制转换结果为100

int b=Integer.decode("123");//十进制转换结果为123

int c=Integer.decode("0x123");//16进制转换结果为291

注:Integer.decode([String])加负号也可以转换,不过字符串不能有空格。否则报NumberFormatException异常

注: 字串转成 Double, Float, Long 的方法大同小异.

int转换为String类型方法:

1.String s = String.valueOf(i); 2.String s = Integer.toString(i); 3. String s = "" + i; 不常用的: 1.Integer.toBinaryString(inti):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

2.Integer.toHexString(inti):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

3.Integer.toOctalString(inti):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。 注: Double, Float, Long 转成字串的方法大同小异.

object类型转换为int类型:

1.如果object是byte,short,int,char类型生成的,那么不用转换直接赋值就ok了。

2.如果object是字符串类型生成的,先把object转换为String类型的,再把String类型转换为int类型。

例如.

String myInt="123";

Object os=myInt;

int b=Integer.parseInt((String)os);//还可以os.toString()

3.如果object是float,double,long类型生成的,思路和上面一样,先把object转换为相应的数据类型,然后再转换为int类型。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。