`
nicegege
  • 浏览: 590847 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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<Job> list=new ArrayList<Job>();
		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中配置

写道
<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页面中

<%
 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类型。

 

分享到:
评论

相关推荐

    session 中 Object 转换为int

    ### Session中的Object转换为Int的方法详解 在进行Web开发时,我们经常会在session中存储一些对象,以便在不同的页面间共享数据。有时,我们需要将这些存储在session中的对象(通常是字符串或其他类型的对象)转换...

    怎么用int这个字符串把Object转换成int.pdf

    综上所述,将 `Object` 类型转换为 `int` 类型有多种方法,包括直接强制类型转换、使用 `Integer.parseInt()` 方法以及利用反射机制。选择哪种方法取决于具体的使用场景和需求。在处理类型转换时,合理地使用异常...

    JAVA变量类型之间的相互转换

    JAVA中,较小的数据类型可以直接转换为较大的数据类型,如`byte`、`short`、`char`可以直接转换为`int`、`long`、`float`或`double`,这个过程称为自动类型提升。例如: ```java byte b = 10; int i = b; // 自动...

    java中jython操作把python数据类型转成java类型

    当你需要将Python的list转换为Java的List时,可以使用Jython的`__javaobject__`特性。例如: ```java import org.python.util.PythonInterpreter; PythonInterpreter interpreter = new PythonInterpreter(); ...

    java 数据类型转换

    在Java编程语言中,数据类型转换是至关重要的概念,它涉及到不同类型的变量之间的相互转化。Java分为两大类数据类型:基本数据类型(如int、char、float等)和引用数据类型(如类、接口和数组)。本文将深入探讨Java...

    Java字符串类型转换

    例如,`Integer`是`int`的包装类,通过`Integer.valueOf(int value)`可以将`int`转换为`Integer`对象,而`Integer.intValue()`则可以将`Integer`对象转换回`int`类型。 ### 结论 Java中的字符串类型转换及其操作是...

    Java各种类型转换md,学习代码

    例如,`(int) doubleValue` 将double类型的值转换为int。需要注意的是,强制转换可能会导致数据丢失,例如从double转为int时,小数部分会被舍弃。 3. 类型转换与基本数据类型 - int、long、float、double之间的...

    java类型转换大全

    在Java编程语言中,类型转换是一项基础且重要的概念,它涉及到不同数据类型的相互转化。本资源"java类型转换大全"涵盖了这一主题的广泛知识,旨在帮助开发者深入理解并熟练运用各种转换方法。以下是对该资源内容的...

    Oracle9i数据类型Java数据类型Schema类型对比.doc

    通过了解这些数据类型之间的对应关系,开发者可以更好地将 Java 应用程序中的数据转换为适合存储在数据库中的格式,反之亦然,从而实现高效的数据交换和处理。同时,XML 文件的使用使得这些映射关系可以被结构化地...

    java 常用基础类型之强制转换

    - 数组之间的类型转换需要特别注意,数组的类型转换只能发生在两个数组具有共同的基类或接口时,例如`Object[]`可以转换为`String[]`,因为`String`是`Object`的子类。 - 在数组元素的强制转换中,需要确保所有...

    JAVA数据类型转换.rar

    Java泛型在编译期间进行类型检查,但运行时会进行类型擦除,这意味着在运行时,所有的泛型类型都转换为其边界类型或Object类型。 了解并熟练掌握这些数据类型转换规则和机制,对于编写高效且无错的Java代码至关...

    long型转换为int型-kaic

    当需要将`long`类型的数值转换为`int`类型时,需要注意可能存在的溢出问题。下面我们将详细讨论三种将`long`转换为`int`的方法: 一、强制类型转换 这是最直接的方式,通过在转换时使用括号将`long`值包围,将其...

    Java中对null进行强制类型转换的方法

    这是因为,基本类型 int 不能被赋值为 null,所以当我们尝试将 null 强制类型转换为 int 时,会抛出异常。 反编译后的代码如下: ```java Object obj = null; int s1 = ((Integer)obj).intValue(); System.out....

    ActionScript3类型与java数据类型对应表.rar

    在AS3中,可以使用Number、int或uint函数将其他类型转换为数字类型;而在Java中,可以使用转型运算符(如(int)或(Double))来转换类型。 8. 类型检查: - AS3提供了is和as操作符来检查和转换类型,而Java通常通过...

    java实现Object和Map之间的转换3种方式

    Java 中,Object 和 Map 是 two kinds of data types 经常需要相互转换的数据类型。以下将介绍 Java 实现 Object 和 Map 之间的转换的 3 种方式。 方式一:使用 Commons BeanUtils 利用 Commons BeanUtils 库可以...

    使用XStream, java Object 与xml之间的转换,以及写入SD卡

    首先,XStream的核心功能在于它可以将Java对象直接转换为XML字符串,同时也可以将XML字符串解析回相应的Java对象。这极大地简化了数据存储和传输的过程。要使用XStream,你需要先在项目中引入XStream库,通常通过...

    Flex类图和与Java交互时类型转换对照.rar

    - **HashMap/Map**:通常转换为Flex的Object,因为Flex没有直接对应的Map类型,但可以通过Object模拟Map的行为。 - **java.util.Date**:转换为Flex的Date对象。 - **boolean**:对应Flex的Boolean。 在实际...

    第02章 Java编程基础 04 基本数据类型转换

    这里将double类型的aDouble转换为int类型。需要注意的是,强制类型转换可能会导致数据精度损失或溢出,因此在进行此类转换时应特别小心。 在Java中,还有一种特殊的转换称为装箱和拆箱。装箱是将基本数据类型转换...

    将 BigDecimal 类型转换为 Integer 类型.pdf

    BigDecimal 类提供了一个名为 `intValue()` 的方法,该方法用于将 BigDecimal 对象转换为 `int` 类型。此方法会返回 BigDecimal 的整数值,前提是该值在 Integer 的取值范围内,即 `-2^31` 到 `2^31 - 1`。例如: ...

    Java中的Object类、Set接口(学习小结)

    Object类的引用数据类型变量可以保存Java中任意数据类型空间的首地址。 Object类中规定了一些方法,可供子类使用。 (1).String toString(); 当前对象将以String类型描述。 默认情况是当前类所属包名.类名@十六进制...

Global site tag (gtag.js) - Google Analytics