首页
社区
课程
招聘
[新手学习提问]:我对move-result-object理解是下面哪一种?
发表于: 2016-4-14 20:47 11186

[新手学习提问]:我对move-result-object理解是下面哪一种?

2016-4-14 20:47
11186
为了大神们少打字,做个选择就可以了~
源代码:
const-string v3, "yourname"
invoke-virtual {v0, v3}, Landroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;  #返回String类型
move-result-object v3

我的问题是:

根据invoke-virtual语句,getQueryParameter过程返回的是String类型的值; 那么下面的move-result-object v3的含义是:
A. 把上一步函数执行后的object类型的结果赋于v3 ( 有迷惑,上面不是说返回String类型吗?这里怎么又变成object了?)
B.把上一步函数执行后的结果赋于对象v3      (就是说这个 object是修饰v3的,v3是个 object类型)

不知哪个是正确的,若是A,同时请解答一哈我的迷惑!!

查了下资料,说是java中String是算做对象的。那么新的问题是:
我可以直接给v3赋string吗?
如:将move-result-object v3  更改为:const-string v3, "linna"


谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
你可以认为java中所有的类都是Object类的子类;dex中的寄存器可以存储一个32位的数值,存入类对象,就相当于存储了一个对象的指针一样
可以;
2016-4-15 10:09
0
雪    币: 3593
活跃值: (779)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
3
可以直接赋string
2016-4-15 10:20
0
雪    币: 90
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢两位的指导!明白了~~
2016-4-15 10:45
0
雪    币: 34
活跃值: (50)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
这个指令写法应该是这样的:
v3="string"
v3=getQueryParameter(v3)
如果你后面加上
v3="string2"
是可以的,可以在move-result-object v3 后增加一条指令const-string v3, "linna"
2016-4-15 10:49
0
雪    币: 90
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
3Q,已测可以
2016-4-19 06:52
0
游客
登录 | 注册 方可回帖
返回
//