(String) s 是类型强制转换,类型不同的时候转换就要出错了。
s + "" 因为""是空字符串,字符串+字符串=字符串,字符串、数字类型的对象+字符串=字符串,非字符串、数字类型对象+字符串=该对象的指针地址+字符串
很简单的道理,就像为什么一般建议用"".equals(String)而不用String.equals("")一样
----------
你把User.java贴出来我来分析!
----------
哦,全部是String类型的啊。
那你Object[]里面的Object都是些什么啊?
如果Object里面的属性不是String类型,而你用(String)强制转换当然会有问题咯!除非是你确定可以转换成String类型的。
还有一种情况就是,比如
A类里面有int a,int b
B类里面有int a
这样,把A强制转为B就没问题,会丢失int b
反过来就要出错
如果你Object里面的都是String类型,肯定没问题。
jsp页面是可以写java代码的。把java代码放在<% %>之间就能执行。
<%
int a= java.lang.Integer.parseInt("123");
%>
也可以用import命令先导入java.lang.Interger。然后直接像写java代码那样就行了。
<%@page import="java.lang.Interger"%>
<%
int a= Integer.parseInt("123");
%>
try {
String testStr = "3";
int testInt = Integer.parseInt(testStr);
System.out.println(testInt);
}catch(NumberFormatException nfe) {
System.out.println(nfe);
}
try {
String testStr = "3";
int testInt = Integer.parseInt(testStr);
System.out.println(testInt);
}catch(NumberFormatException e) {
System.out.println("不是整形");
}
int topicId=Integer.ValueOf(request.getParameter("topicId"));