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(); 这种方式获得.
展开
 我来答
小傻

2015-10-29 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

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 比较。
更多追问追答
追问
你说的是
if(o.getClass().getComponentType() == X.class){
...} 这种方式?
可是我有若干个自定义类型要匹配呢. 这么做不太合适.
所以 大家一起思考吧.
追答
对象不可以用==比较。

不管多少,要转成明确的类型,只能判断。

不然,如果通用的,就使用泛型!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式