java中,根据Object的类型如何强转为原始类型?
Objecto=getRequest().getAttribute(k);if(oinstanceofMap){m.put(k,(Map)o);}考虑到若干个类型呢所以放...
Object o = getRequest().getAttribute(k);
if (o instanceof Map) { m.put(k, (Map) o);}
考虑到若干个类型呢 所以放弃这种方式强转.
我希望从 o.getClass().getComponentType(); 这种方式获得. 展开
if (o instanceof Map) { m.put(k, (Map) o);}
考虑到若干个类型呢 所以放弃这种方式强转.
我希望从 o.getClass().getComponentType(); 这种方式获得. 展开
2个回答
展开全部
java使用变量的instance方法先判断是否什么基本类型,然后使用强制转换,实例如下:
Object param = params.get(i);
if (param instanceof Integer) {
int value = ((Integer) param).intValue();
prepStatement.setInt(i + 1, value);
} else if (param instanceof String) {
String s = (String) param;
prepStatement.setString(i + 1, s);
} else if (param instanceof Double) {
double d = ((Double) param).doubleValue();
prepStatement.setDouble(i + 1, d);
} else if (param instanceof Float) {
float f = ((Float) param).floatValue();
prepStatement.setFloat(i + 1, f);
} else if (param instanceof Long) {
long l = ((Long) param).longValue();
prepStatement.setLong(i + 1, l);
} else if (param instanceof Boolean) {
boolean b = ((Boolean) param).booleanValue();
prepStatement.setBoolean(i + 1, b);
} else if (param instanceof Date) {
Date d = (Date) param;
prepStatement.setDate(i + 1, (Date) param);
}
推荐于2016-06-29
展开全部
强类型要求事先知道类型。
想直接转,必须有类型的定义。
只有逐个判断,转换。
可以使用反射
o.getClass() 和 MyClassObject.class 比较。
想直接转,必须有类型的定义。
只有逐个判断,转换。
可以使用反射
o.getClass() 和 MyClassObject.class 比较。
更多追问追答
追问
你说的是
if(o.getClass().getComponentType() == X.class){
...} 这种方式?
可是我有若干个自定义类型要匹配呢. 这么做不太合适.
所以 大家一起思考吧.
追答
对象不可以用==比较。
不管多少,要转成明确的类型,只能判断。
不然,如果通用的,就使用泛型!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询