类型不匹配:不能从 Integer 转换为 int

时间:2021-10-12 06:32:12
红色地方是有问题的,jdk版本是6.0,求帮助,急!!!

1.类型不匹配:不能从 Integer 转换为 int
<%
    //隐式对象,系统对象 jsp简化程序员的工作,已经建好的对象
      //servletContext对象  net application
     //当前在线人数 
      int num = (Integer)application.getAttribute("usernum");
     
     num++;
     application.setAttribute("usernum",new Integer(num));
    
  %>




2.类型 ServletContext 中的方法 setAttribute(String, Object)对于参数(String, int)不
 适用


package com.control;

import javax.servlet.ServletContextEvent;

public class ApplicationListener implements javax.servlet.ServletContextListener{

public void contextDestroyed(ServletContextEvent arg0) {
// TODO 自动生成方法存根

System.out.println("contextDestroyed");
}

// application start 
public void contextInitialized(ServletContextEvent arg0) {
// TODO 自动生成方法存根
System.out.println("contextInitialized");
arg0.getServletContext().setAttribute("usernum",0 );

}

}

7 个解决方案

#1


int num = (Integer)application.getAttribute("usernum");
     
     num++;
     application.setAttribute("usernum",new Integer(num));
直接定义num 为Integer类型就可以了

类型 ServletContext 中的方法 setAttribute(String, Object)对于参数(String, int)不
 适用
int 是简单类型,使用Integer 型就可以了

#2


Integer.parseInt(),,,试试    如果你返回的参数整型数字,没理由会转不了,估计就是你用的转型方法错了,,

#3


JRE是那个版本的?

#4


你先看你的jdk是哪个版本的,好像从jdk1.5开始支持,自动拆箱和封箱了,所以你不需要自己手动去转了,java会帮你自动转的。

#5


看看你eclipse的编译环境window->preferences->java->Compiler是否为1.5以上

#6


Integer.parseInt(  application.getAttribute("usernum").toString() )  试一下

#7


有的时候是Eclipse误报,或者是web环境是1.5以前的

#1


int num = (Integer)application.getAttribute("usernum");
     
     num++;
     application.setAttribute("usernum",new Integer(num));
直接定义num 为Integer类型就可以了

类型 ServletContext 中的方法 setAttribute(String, Object)对于参数(String, int)不
 适用
int 是简单类型,使用Integer 型就可以了

#2


Integer.parseInt(),,,试试    如果你返回的参数整型数字,没理由会转不了,估计就是你用的转型方法错了,,

#3


JRE是那个版本的?

#4


你先看你的jdk是哪个版本的,好像从jdk1.5开始支持,自动拆箱和封箱了,所以你不需要自己手动去转了,java会帮你自动转的。

#5


看看你eclipse的编译环境window->preferences->java->Compiler是否为1.5以上

#6


Integer.parseInt(  application.getAttribute("usernum").toString() )  试一下

#7


有的时候是Eclipse误报,或者是web环境是1.5以前的