java 类型转换:java.lang.Long cannot be cast to java.lang.String

后台action:
long t = responseTime;
request.setAttribute("t", t);
前台jsp:
String a=(String)request.getAttribute("t");
time=Long.parseLong(a);

运行总是说String a=(String)request.getAttribute("t");这行错误java.lang.Long cannot be cast to java.lang.String
谁能帮帮我

Integer属于不可更改类型,而且Long和Integer没有任何继承关系,当然不能这样转换。解决办法:

public Integer getUsersCount() {  

String hql = "select count(*) from Users";  

List list = super.pageQuery(hql, null, null, null);  

Number num = (Number) list.get(0);  

return num.intValue();  

} 123456

扩展资料:

在windows下编译java文件、执行:

1、先创建一个txt,更改为test.java。

2、编写代码,为输出为holloword。

3、找到cmd,并进行打开cmd。

4、编译java文件,输入命令为javac test.java。

5、如果没有报错,查看当前目录下是否有class文件产生。

6、执行class文件,在命令输入java test,输出为holloword。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-13
首先要了解 强制类型转换的条件,如 当A被强制转换为B时 要求A必须和B有关系的 即A是B的子类(这种情况会自动向上转换)或者 是B的父类 或者就是B的实例(这种当然不用强制转换也行),
但是你现在的 request.getAttribute("t"); 返回的是long型的 long型与String类型 就不存在父子关系 所以你试图(Stirng)强转的时候 会报错 can not cast to String from long
修改方法可以这样:String a=String.valueOf(request.getAttribute("t"));
第2个回答  2011-01-13
String a= request.getAttribute("t").toString();就可以了

如果类型是Long, 就用toString
如果类型是long, 用String.valueOf(request.getAttribute("t").)本回答被网友采纳
第3个回答  2011-01-13
前台jsp:
String time=(Long)request.getAttribute("t");
//因为这个键值对"t"在后台action里原本对应的就是Long类型的,所以写成这样就可以了,而不需要中间的String类型的过度。
第4个回答  2011-01-13
你试试String a=request.getAttribute("t").toString();

java 类型转换:java.lang.Long cannot be cast to java.lang.String
return num.intValue();} 123456

java.lang.Long cannot be cast to java.lang.Integer
Integer.valueOf(((Long)subjectVote[1]).toString());现将Long类型的转换为String 类型的,然后再用Integer.valueOf()方法将其转化为Integer类型的

java.lang.Character cannot be cast to java.lang.String
char类型转换String类型失败

为什么会出现cannot be cast to java.lang.String
在Java编程中,遇到"cannot be cast to java.lang.String"的错误,通常是由于类型转换不当导致的。具体来说,当你尝试将一个非String类型的实例转换为String时,系统会抛出ClassCastException。例如,代码中的zs[l]= (String) is.readObject();若改为zs= (String[]) is.readObject();问题就可能得到...

发短信提示java.lang.long cannot be cast to java.lang.String
);Long l = 1L;list.add(l);String s = (String) list.get(0);运行这段代码就会抛出你那个异常:java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader 'bootstrap')

为什么会出现cannot be cast to java.lang.String
很明显是类型转换错误。即Integer 类型不能转成String类型。解决方案:1.直接使用tosting的方式 String str = entry.value().toString();2.使用String类的静态方法valueOf()String str = String.valueOf(entry.value());3. String orderNo = ((String[])request.getAttribute("orderNo"))[0];4....

...Ljava.lang.String; cannot be cast to java.lang.String...
类型转换错误 你看看你的强制转换的地方是不是不对 比如字符串转整形"abc"转int肯定会出现这个异常

java报错:cannotbecastto
Java报错“cannot be cast to”通常表示试图将一个对象转换为不兼容的类型。Java中的类型转换是非常重要的概念。当我们尝试将一个对象转换为另一种类型时,必须确保这两种类型是兼容的。如果不兼容,就会出现“cannot be cast to”的错误。这种情况通常发生在以下场景:1. 向下转型...

java.lang.String cannot be cast to java.lang.Integer 查询失败...
你看看数据库和你代码里的这个值的数据类型是否一致,hibernate很久没弄了,如果哪两个一致,再看看映射文件吧,从报错信息看是转换异常,估计你程序里是int型而数据库是long型。

java.lang.Integer cannot be cast to java.lang.String怎么解决???
java.lang.Integer cannot be cast to java.lang.String怎么解决???把出错代码贴出来,错误原因是类型转换!说Integer 类型不能转成String类型。这是两种不同类型的类,怎么能直接的相互转换!而应该:public class Test { public static void main(String[] args) { Integer in=new Integer(111)...

相似回答