java object转为int_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中。

代码:

public ActionForward listjob(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

//jobFormbean job=(jobFormbean)form;

DbManager dbmgr=new DbManager();

String orgid=request.getParameter("orgid");

//分页代码开始

String page = request.getParameter("curpage");

String countsql="select count(*) from ln_job where orgid='"+orgid+"'";

int rowcount=dbmgr.rowscount(countsql);

if (page == null) {

page = "1";

}

if (page.equals("") || page.equals("0")) {

page = "1";

}

PageManager pmg = new PageManager();

pmg.setrowsPerPage(15);

pmg.setpagenum(Integer.parseInt(page));

pmg.setmaxRowCount(rowcount);

int rowsStart = pmg.getrowsStart();

int rowsEnd = pmg.getrowsEnd();

int maxPage = pmg.getmaxPage();

int nextpage = pmg.getnextpage(Integer.parseInt(page));

//分页代码结束

String sql="select * from (select jobid,jobname,orgid,row_number() over(order by jobid asc) rn from ln_job where orgid='"+orgid+"' ) where rn>="+rowsStart+" and rn<="+rowsEnd;

System.out.println(sql);

//System.out.println(sql);

rs=dbmgr.getQuery(sql);

List list=new ArrayList();

while(rs.next()){

Job og=new Job();

og.setJobid(rs.getInt("jobid"));

og.setJobname(rs.getString("jobname"));

og.setOrgid(rs.getString("orgid"));

list.add(og);

}

sql="select orgname from ln_org where orgid='"+orgid+"'order by orgid asc";

rs=dbmgr.getQuery(sql);

String orgname="";

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);

return mapping.findForward("list");

}

struts-config.xml中配置

写道

在joblist.jsp页面中

int nextpage=(Integer)request.getAttribute("nextpage");

int maxPage=(Integer)request.getAttribute("maxPage");

int currentPage=(Integer)request.getAttribute("currentPage");

int fontpage=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(int i) :以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

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

3.Integer.toOctalString(int i):以八进制(基数 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类型。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-10-20 11:30

浏览 38020

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值