java提取Object内的值该用什么方法?

obj是一个Object类型的对象,跟踪的时候看到了里面是有参数的,可是我应该怎么取出来?求大神!... obj是一个Object类型的对象,跟踪的时候看到了里面是有参数的,可是我应该怎么取出来?求大神! 展开
 我来答
dashllh
推荐于2016-11-07 · TA获得超过1871个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:164万
展开全部
首先,你的deviceName和isOn应该是定义在另一个类型里,而这个类型继承自Object。在非组件环境下,你可以试试找到这个类型,然后将obj强制转换成这个类型就可以通过相应的方法访问。
或者:这个类型实现了某个接口,须通过接口方法访问属性,那你就要找到这个接口,用同样的方式转换后访问。
更多追问追答
追问
但是我的这个obj是从另一个工程通过socketclient传过来的,在client端由原本的device类(自己定义的)转换成了Object。而在server端接收之后的object无法变成device类了。
追答
无法转换的原因可能是你这端没有Device类的定义,除非这个类型是基于某种组件模型的,像COM一样可以提供QueryInterface方法供客户端获取访问对象数据的接口方法,如果不是这样,你必须在的本地保留Device类的定义。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang779896660
2014-06-18 · TA获得超过701个赞
知道小有建树答主
回答量:717
采纳率:100%
帮助的人:333万
展开全部
一般对象的参数是private的, 是不能直接通过 obj.isOn 这样拿到的,
规范的实体类都有 getter setter的, 所以只要是规范的 就可以 obj.getDeviceName() 得到deviceName
更多追问追答
追问
但是我的这个obj是从另一个工程通过socketclient传过来的,想在server端新建一个同样的类却发现无法转换。
Object obj = is.readObject();
Device dev = (Device)obj;//这一句报错,无法转换
追答
对象要流化,  必须要有实现  序列化接口,  里面的序列要一致
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式